I know a few people interested in learning their first JS framework and I get asked pretty frequently, “which one should I learn?”. I have personally worked with Backbone, Angular, and Ember and Ember is by far my favorite, but this is mostly because of my frustrations with the other 2. For someone who wants to learn a framework and hasn’t experienced those frustrations, what would you recommend? Does it depend on their programming experience level?
In my case, Ember was the first framework for SPA. I’m not pro in JS, and looking for well documented framework with strong community. It was so annoying at the beginning but after several month I was really happy with it. And Yes, you should recommend it, it’s awesome.
Ember.js has messed me up. These days first thing I check when I see new JS framework is if its complete solution. Second thing I check is if it has CLI toolkit for building and testing. Third thing I check if it really has CLI toolkit for building and testing. :]
With Backbone you’ll have structure, but you’ll have to hold its hand through (re)rendering templates, managing child view hierarchies, and have no data-binding without resorting to more third party libraries.
Finally with Ember you’ll have awesome.
Backbone is the simplest from the list and I would go with that. Ember is not for beginners unless you’re looking for something as trivial as Hello World app.
Just to echo the above, I would definitely not recommend Ember as a first framework unless the person is very confident with vanilla JS. Ember is pretty awesome but it has a steep learning curve compared to something like Backbone so I’d spend the time trying something a bit simpler first.
As an added bonus, Ember 2.0 will be released by the time they have played with Backbone so they will also avoid having to recode around the upcoming deprecations as well as getting the new features.