Feb 3, 2012

Backbone.js vs Ember.js

In the #documentcloud IRC channel on January 31, 2012, Jeremy Ashkenas (jashkenas) and Yehuda Katz (wycats) were asked by Travis Swicegood to contrast Backbone.js and Ember.js. (I have removed some IRC noise and unrelated conversations for clarity.)

09:56 tswicegood: so here's a loaded question since both of you are here...
09:56 tswicegood: what's the main differences between the backbone and ember?
09:56 tswicegood: I have some ideas, but I'm curious to hear from your perspectives :-)
09:58 wycats: tswicegood: Ember focuses heavily on bindings as the core abstraction, backbone focuses on raw events
09:58 wycats: Ember supports events
09:58 jashkenas: tswicegood: as with all of this stuff -- very different approaches to the same thing: building JS apps.
09:58 wycats: but Ember users tend to prefer bindings
09:58 wycats: jashkenas: does ^ seem correct?
09:58 jashkenas: eh, I think there's more than just that ;)
09:59 wycats: :p
09:59 jashkenas: from a user's perspective.
09:59 wycats: tswicegood: also, Ember's scope is larger -- for instance, we have a bundled template engine that is binding-aware
09:59 wycats: backbone is template-engine agnostic
10:01 jashkenas: tswicegood: but how to put it concisely ... Ember is an (IMO) more experimental attack at the end-to-end problem, by introducing new concepts to JavaScript, like the aforementioned Ember.meta bindings on objects ... Backbone is simply the lowest-common denominator set of functions and patterns to be productive.
This small discussion hardly scratches the surface in assessing either of these excellent JavaScript application frameworks. To make an informed decision about which to use in your own projects, you should: a) try them for yourself, b) read their source code, c) review their real-world adoption, and d) learn more about the philosophy and commitment of their core teams.

Update: Jeremy Ashkenas has published a much longer portion of the conversation about Backbone and Ember that continued on IRC. Also, the February 13, 2012 episode of JavaScript Jabber brought Ashkenas and Katz together for a live discussion on Backbone and Ember.


  1. I'm so torn when it comes to these two frameworks. I really like the philosophy behind ember, but the lack of adoption and the lacking documentation and examples are really off-putting.

  2. I would certainly like to see more Ember examples and tutorials, particularly within the context of rails (ember-rails). The docs are fairly good, as far as they go, but I need a RailsCast or some equivalent to get my head around Ember.js.