| He does have a point though (the NK reference is hilarious because it's actually not completely off-base, albeit a little over the top). I looked at Ember again the other day after a long abstinence and to me it has become frighteningly opaque. Even with my prior Ember-knowledge (before Router and {{outlet}} existed in their current form) I completely failed to make sense of a recent tutorial[1]. I wanted to wire the tutorial up with ember-data and add pagination (nothing too fancy), but a series of undecipherable exceptions stopped me in my tracks before I got either working. A major problem for me was how everything in the "new" Ember is tightly coupled. No longer can I just make an ArrayController, reference it in my template and populate it with standard javascript until I'm ready to drink more of the kool-aid. Or perhaps I can, but it seems to be an anti-pattern now. None of the (few) newer tutorials does anything like that. It seems I'm now supposed to jump in head-first. I'm supposed to understand all of Ember before using Ember. Sadly that didn't work out for me, even despite knowing a bit of Ember already. I was constantly stopped by opaque exceptions from the "runloop" which didn't even point to a line of my code. Tracking those down is a Royal Pain In The Ass. At one point I had enough and just wanted to drop back to "old-style" Ember (who needs a Router anyway!) but quickly gave up on that, too, when it didn't work right away and I realized I'd be completely on my own in that style anyway. So, from my short (but second) endeavor with Ember I have to conclude that you seem to have turned the learning curve into a perfect square-wave. Every time I made a mistake (even as much as a typo) the useless error messages threw me back a mile. It took only a few of these cycles before I gave up in frustration. I think you're on a dangerous track here. When I compare my first contact with Ember (about a year ago) with my recent experience then it feels like you're about to re-invent Sproutcore. If my memory serves me right Sproutcore was pretty awesome and powerful, but so opaque and unapproachable that nobody ended up using it. I really hope this doesn't happen to Ember. I hope you're going to modularize it so newbies stand a chance to start small instead of being bombarded with meaningless exceptions from all directions at once. I hope you'll add narrative guides with little "run" buttons to augment the Reference Documentation that you accidentally filed under "Guides". I hope you'll try to be more jQuery and less Dojo. More Sinatra, less Rails. More library, less framework. In short, I hope my next attempt at Ember will be more like the first and less like my last weekend. [1] http://twbrandt.github.io/2013/02/11/Ember-Quick_Start_Guide... |
+1 on trying to track down errors. They never point to a line of user code! It's extremely frustrating when something breaks and you have no idea why.