Ugh. Examples use Coffeescript instead of universally accessible Javascript. Looks very useful though; I've just started learning about Backbone, and the lack of a "right way of doing things" is disconcerting, coming from a lot of Rails usage lately. It takes me back to the days of doing a lot of stuff by hand.
Even without that uncertainty, it's definitely a bit tricky to move to thinking about everything being in the browser.
It's not that hard but instead of thinking what code does, i have to think first what that code mean in javascript.
Writing a tutorial / informative blog post in coffeescript is like : Giving an English lesson in Chinese while teacher and students are native speakers of English.
@davidw, Just use emberjs and focus on your app instead of boilerplate code. If you are coming from rails, emberjs is opinionated and should fit your style of thinking.
Emberjs makes building non-trivial easy while backbone makes building non-trivial apps hard but makes building small simple app easy.
People like talking about the size of emberjs but after you finishing stitching together numerous boilerplate code, you might end up with a bigger code base than emberjs and you are worst off as you have to maintain your boilerplate yourself rather than use a community curated codebase.
Please i don't dislike backbonejs but we should use the right tool for the right job, backbone is not the right tool for non trivial app except you like boilerplate code. I also respect Jeremy Ashkenas. So my comments are not hate induced.
Getting started with Ember is a lot harder than your comment admits. I tried Ember recently and there was still a lot of stuff that was broken including the data model. That would make building a non-trivial app hard.
@atomical, the link to trek's article above puts it more succintly:
Ember applications start out with a complexity rating of 4/10 but never get much higher than 6/10, regardless of how sophisticated your application becomes. Backbone starts out at 1/10 but complexity grows linearly. This is a natural side effect of the types of applications the two frameworks were specifically created for.
What I'm investigating Backbone/Ember/whatever for is a semi-embedded device that will ship with a web interface, so some semblance of stability is a major plus.
Web production != shipping on devices production. You can very easily ship updates to the former whereas the latter is tricky. It means we need to be careful with everything we choose.
Does Ember have a persistance layer ? like backbone sync ? anyway ,Ember is far from perfect too. The best javascript framework , though not free , is Ext JS.
Even without that uncertainty, it's definitely a bit tricky to move to thinking about everything being in the browser.