Although I have never tried out the Backbone framework, I had to review it some time ago when I had to select the JS framework to use. I wrote this last year so if anything has changed please let me know.
- Allows developers to control the entire page at runtime and not just small sections.
- Two way data binding and computed properties.
- Auto-updating templates.
- Reduces the amount of boilerplate code developers have to write.
- Well-designed framework
- Better suited to really complex applications
- Good documentation and really strongly-knit community.
- Rigid conventions.
- Small community.
- Lacks a data persistence layer although the sophisticated data access library Ember.data (still in development) looks very promising.
- Quite large ~ 37Kb.
- Fast, small and compact – one simple file.
- Small impact on architecture and/or file layout.
- Can be embedded in small sections of a webpage.
- Persistence layer synchronization support over REST.
- Easier to learn for people who already know jQuery.
- Strong community and very popular.
- Issues with memory management sometimes occur – e.g. zombie views.
- Users have to write more boilerplate code.
- Doesn’t scale easily – complexity grows somewhat linearly.
- EmberJS: The Rant (abdulapopoola.wordpress.com)
- Ember, Angular, Backbone, Single Page Applications and APIs (apievangelist.com)