Ember: Baby Steps
wekeroad.com
wekeroad.com
I considered evangelizing it at my then-employer when it was still called SproutCore, but remember thinking "if it's going to take me at least a day or two before I begin to understand, how long is it going to take the rest of my team?"
There are a lot of interesting ideas in Ember. I'd love to see it take off. Hopefully we'll start to see documentation that makes it approachable for a wider audience of web developers.
Honestly, as it stands, I don't know if I'd ever try and explain Ember to anyone aside from the basics which I've done.
The concepts are interesting - as you say - but in practice it just feels like a mediation on "what can we leverage with clever naming" that results in code that is ... less than clear in intent and purpose.
The API is the thing (to me) that brings it down. Nothing is discoverable and it's not easy to jump from one context to the next. In Angular, for instance, it's a pretty simple jump to understand that if you want an ability/function, you'll need to inject it.
This leads you to understand that "I need to do a JSON call... hmmm" and then boom: $http.
Ember isn't this way. It isn't until you grapple with models that you understand you'll be writing jQuery code to get remote data. In my mind this is a huge gap, given Backbone's ability to do it straight away, and Angular's injectable $resource stuff.
I like the ideas, but the API needs to be rebuilt.
Aren't the same guys who are telling you that Ember is simple and easy to use and high-performance and well-designed and ambitious and removes boilerplate and cures cancer and kisses babies ... the same guys who were saying the same things about SproutCore two years ago?
http://web.archive.org/web/20110530004346/http://blog.sprout...
Isn't the data layer still totally unfinished? Didn't a lot of folks just get burned by wildly changing router APIs? Isn't it obvious from what few public production apps there are (after 2+ years) that the results end up sub-par, glitchy and wonky? Why would you want to spend time futzing around with an over-marketed research project?
Let them actually finish the project first, then let's talk about "getting started" with it.
I left out routing as these are baby steps. This example aims to be simple and clear.
I like what you've done after having followed the link here, but it kind of wanders into discussions about IE and UTF8, and then actions and interactivity.
I was trying to show the core of what Ember is and does. Hopefully you can see that our goals were slightly different?
Not at all - more an expression of frustration that we've all duplicated effort.
You're right, you do go in a different direction, but the groundwork to get an absolute beginner up and running isn't something I think should need to be replicated over and over again...
That said, writing like this might push us in the right direction.