| Another interesting post! It's even more interesting for me, since I've been testing with various JS frameworks in the last two weeks; namely the three major ones - BackboneJS, EmberJS and AngularJS. Aside from the points you've raised, here's a small conclusion I have made. "Creating a complex web application with Views, Sub Views & Deep-linking is difficult, no matter what framework you use". I feel comfortable with BackboneJS because there isn't too much abstraction and convention. Therefore, once you get the hang of it, you know what you are doing (not sure if it sounds right, but it feels... pure, or purer than others). But BackboneJS does in fact make me repeat a lot - which is why there are a number of plugins and other frameworks that try to cover this (e.g. Backbone Marionette, Backbone layout manager, Backbone.Subview, Backbone.Courier). After 'giving up' on EmberJS, I've looked at AngularJS. Their example was quite simple and made sense. But as soon as I tried to create a complex app, I got stuck. Working with these frameworks has been quite interesting, because we are trying to somehow capture the state of the app in the URL (e.g. http://a/#b/c/1/3/2) so that if that URL was bookmarked and user directly goes there, we want the web app to be able to render all the parent + child views, grab the necessary data (sometimes making sure that the order is correct) and display them as expected. It's all do-able in either BackboneJS, EmberJS and AngularJS, but this type of apps are complex and I'm not sure if any one of these frameworks make it "magic". |