Solidus: Will Solidus adopt the Spree 3.0 Backend?

Created on 31 Aug 2015  路  14Comments  路  Source: solidusio/solidus

Guessing not, but wanted to check.

A lot of spree stores I've worked on in the past always get complaints from the client about how awful the backend UI is in Spree pre 3.0.

Wondering if Solidus has any plans here?

Thanks for all the hard work all!

Most helpful comment

I've been working with React+ Redux to build replacement Spree fronted. You can get up and running with only a few modifications. This project helped me get my bearings.

React ain't bad. Its much more accessible than it was when I first looked at it in 2015. I am enjoying my time with it!

All 14 comments

@hhff we have no plans to support the spree 3.0 backend, sorry.

We do, however, have lots of plans to clean up, improve, and eventually re-style the backend, but don't have any plans to ever use the spree 3.0 codebase. Hawthorn is making some good progress but it'll be a while before it noticeably looks or works better than it does now.

@cbrunsdon I'm :+1: and using Backbone.

@BenMorganIO it's worth taking a look at React as well. We've been having a lot of success / enjoyment with it on our frontend. Would be happy to share knowledge

While it's a long way off - I eventually want to support ember-cli backends with Spree Ember. I've found most Rails devs grok Ember super quick. Might make sense to go with something heavily conventional on the backend for such a large & complex OSS project

I'm :-1: on React, mainly because I've had such a bad Angular experience and React just feels like a de ja vu... If I hadn't had such a bad Angular experience, I might be more neutral to the decision and be willing to try React out, but there's just so many things similar between the two frameworks that I'm unwilling to give React a shot.

  • Angular: Lets change best practice.
  • React: Lets change best practice.
  • Angular: Made by Google.
  • React: Made by Facebook.

I just don't feel like I should pick a framework (no matter how fab it is) if they want to change how to do best practice. With backbone and ember, they aren't changing best practice; they're leading by example. Angular and React just seem to want to pull you into their own world. Thing is, its usually a world I never feel comfortable fitting into.

Backbone has Jeremy Ashkenas (maintainer of Underscore.js, Coffeescript, and Docco.js) and Ember has Yehuda Katz (Rails, Bundler, Thor, Handlebars). Angular has Google. React has Facebook. I want to opt for the people, not for the company.

All in all, I'm not convinced Angular or React are the way to go. Hope this description helps communicate my feelings about the JS frameworks.

React is great of you only need Ember Components :trollface:

@hhff lol

@BenMorganIO I'm curious to hear more about your specific negative experiences with React. We've actually found it quite easy to sprinkle a bit in here and there along side other js structures and significant server-side rendering, and found it to be quite opposite to Angular in terms of pulling you into its own world and opinionated-ness, given that React itself is just the view layer. Additionally, some of the Flux frameworks allow the use of non-react view components.

Jah - I actually like React a lot. I've learnt a ton from it.

In my experience though, for a successful React build (I actually did a Spree storefront in React a while back), you need to sprinkle a lot more than "just react".

"Just react" actually encourages bad inter-app communication practices. That's where Flux comes in to save the day!

That said, So once you've got React + React Router + Flux (and eventually Relay / GraphQL, plus some custom code thrown in to bolt it all together), your FE stack is looking almost identical to Ember + Ember Data.

The difference being that Ember + Ember Data is built to work together perfectly, has first class support for Rails, and if u squint your eyes, it almost looks like a Rails project.

Plus, almost all Ember Addons are heavily tested, scored (partly on their test coverage), can be added to a project with a single line install, and often provide Rails style Generators.

Oh and Ember CLI has a tooling built in. No need to write a Grunt/Gulpfile. Just ember new app then ember install ember-cli-sass then start coding.

Ember Engines are not far off either. I couldn't think of a "more manageable" way to build a robust frontend for something as complex as Spree.

TLDR: React is almost always slower to build with, and certainly harder to manage complexity with. It's definitely "easier" to grok for beginners though, and for sure easier to incorporate into an existing project.

Thanks for the detailed comparison of your experience @hhff. Very helpful context!

:+1: no worries @athal7 !

@athal7 I'm more gun shy of React. It felt like a dejavu from when I did AngularJS. Some issues that I had with Angular was that there was no convention. This made it too easy for one developer to have their own style even down to where they store files vs another dev. I've one project with ~100 Angular files and some of them 900 lines long. This was a "rockstar" Angular dev. Test suite: 8 tests, 8 failures. I was fairly unwilling to touch the Angular code or volunteer for it. I also spent a significant time learning and doing Angular. I never felt like I was making progress. I just wasn't wrapping my head around it. Even after a year of usage.

This seems to be the type of projects I end up on when its Angular. The convention is the big thing to me. This means anyone who's getting started with JS is enforced to use convention and best practices. Ember also comes with a linter and OMG I :heart: it so so much. Having worked on big projects where bikeshedding on code style can get slightly out of hand, I love how linters can help minimize it.

I haven't been in the Ember world for too long TBH. I'm not an active user, but it 15 minutes I'm able to do 3 days worth in Angular.

:+1: @BenMorganIO

I've been working with React+ Redux to build replacement Spree fronted. You can get up and running with only a few modifications. This project helped me get my bearings.

React ain't bad. Its much more accessible than it was when I first looked at it in 2015. I am enjoying my time with it!

Was this page helpful?
0 / 5 - 0 ratings

Related issues

spaghetticode picture spaghetticode  路  3Comments

tudorpavel picture tudorpavel  路  3Comments

cdrage picture cdrage  路  3Comments

kennyadsl picture kennyadsl  路  3Comments

seand7565 picture seand7565  路  3Comments