I have been playing and trying to built stuff with Backbone and ember few times.
JS is the language of web and it needs to be known but alas (or luckily) I'm not a daily JS developer and code most of the times in python so I'm far from mastering it.
My main issue was that I was hitting the learning curve every times I was coming back to my backbone or Ember code. Why? probably the lack of experience in JS, the amount of boilerplate code, the lack of structure/guidance (too agnostic for an hobbyist)
Recently I gave a go to Angular, it feels good! Clear codebase, very explicit and so very easy to come back into it after few days.
I'm not starting the debate which is better or not. But I thought that it was maybe just a very well suited framework for people like me who develop backend most of the time WHO ARE JS HOBBYISTS ...
Any feedbacks ?
I write a lot of hobby/side projects just for experimenting and learning, and Angular has become my framework of choice. You can just get stuff done so quickly and easily, particularly after you've been using it for a while.
Angular has a sort of jagged learning curve. It's shallow for quite a while, and you can do a lot of work in that shallow half. However once you need to start writing your own directives, the curve steepens. It's not the steepest curve, but there's definitely a transition. This is when you hear people talking about Angular being difficult, citing things like transclusion.
I've made it to the other side of the curve, and I love writing directives and services, it's become fairly intuitive to me. With the modular architecture, if you there is a large library of available modules/plugins, even people who don't want to write a lot of JS and understand Angular to it's core can do some amazing things. That's why I built http://ngmodules.org , so that people can share modules, and AngularJS can be accessible to more people.