EmberJS vs Backbone


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.

EmberJS

Strengths

  • 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.

Weaknesses

  • 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.

Backbone

Strengths

  • 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.

Weaknesses

  • 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.

Related

6 thoughts on “EmberJS vs Backbone

  1. You’re trolling right, in your opening statement, you note that have never tried BB, so you automatically lose points. You note that writing boilerplate code is a weekness for BB, then complain that Ember has rigid conventions. And on rigid conventions, they’re absolutely not a weakness, they’re a strength. Why on earth would I write up code to wire up a Post Route with a Post Controller and a Post Template. Data persistence is available via $.getjson or through numerous other plugins for ember. Honestly, I’m just going to stop. There is so much wrong with this post that I feel stupider for reading it.

    Like

    1. Thank you Jeremy; you have pretty strong opinions.

      1. Ember does not have a stable data persistence layer that’s why Discourse had to roll out their own. Some frameworks do (e.g. Meteor) and Ember data already looks promising. $.getJSON is a call to jQuery not to the native Ember framework.

      2. I personally do not believe this is a troll post and the post does not say if one framework is better than another. However, we all have subjective views.

      All the same, thanks for your views.

      Like

  2. In total agreement to what Jeremy has clearly stated, there is just so much you can know about a technology if you dont actually use it.

    The points listed above are plain wrong and it seems you dont know what you are talking about.

    Try to understand a bit more …

    Like

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.