

Ember.js - Rich Internet Applications Done Right - joachimhs
http://www.infoq.com/articles/emberjs

======
combataircraft
Hey guys, please take a look at the following app:
<http://editgrid.com/untitled>

It's the coolest web-based spreadsheets application built 6 years ago using no
library, no framework. I'm a fan of it. It was looking just like this current
version 6 years ago and was pretty fast at even IE6. And its 6 years old
JavaScript code follows the rules of coding good JavaScript code way more than
Ember itself.

Here is another story: I was working for a competitor of EditGrid and built a
Microsoft Excel clone with dozens of features in 6 months, using no framework,
no library, 5 years ago. We were two guys at frontend and two other guys in at
backend. And our source code was almost pure object orient, mixable, reusable
and relying on MVC, event-driven programming.

I've been shipping rich web apps for more than 6 years and recently had the
chance of working with both Backbone and Ember. Here is my feedback:

The size of Ember library is bigger than total source code (including an AI
library) of the last multiplayer game I built.

And both of them solve no problem, simplify nothing. They just force beginners
to not code crappy code and that's all. Good JavaScript code should benefit of
functional programming very well, like some NodeJS apps and libraries. They
got no understanding of FP. Especially Ember relies on a horrible idea that
increases the cost of development very huge. Very ironically, ember code is
not reusable, not mixable with other web apps. It's not even unobtrusive,
pollutes Object prototypes. When you finish your app, you got a huge garbage
that has not even one piece of reusable code.

To summarize, there is nothing Ember does right. It tries to solve already
solved problems in a very absurd way and is very irrelevant with the new
problems JavaScript community tries to solve (such as code-reuse with NodeJS
apps, it's partly solved)

It's the new, communist North Korea of JavaScript world.

~~~
edwardhotchkiss
I think that you should check out Angular.js. I have a blog post on it.
Basically to write the app "no library no framework" (or even using jquery) -
would be a lot more work. I think that you're trolling but I'll bite and link
you anyway. [http://edwardhotchkiss.com/blog/2012/03/11/jekyll-live-
searc...](http://edwardhotchkiss.com/blog/2012/03/11/jekyll-live-search-with-
angular.js/)

~~~
combataircraft
I'm very happy and satisfied with my current development kits and methodology.
I use no framework and don't write any classes.

<http://en.wikipedia.org/wiki/Functional_programming>

~~~
LBarret
Please write an article about your approach, I am really interested.

------
creamyhorror
If we're discussing JS client MV* frameworks, take a look at the demos of the
various options (including Ember.js, Backbone.js, Ext.JS, AngularJS) on:

<http://addyosmani.github.com/todomvc/>

I've been getting into AngularJS myself, which is positioned as an alternative
to Backbone, KnockoutJS, etc.:

[http://stackoverflow.com/questions/9588921/ember-js-vs-
angul...](http://stackoverflow.com/questions/9588921/ember-js-vs-angularjs)
[http://zdam.posterous.com/angularjs-vs-knockoutjs-
knockout-g...](http://zdam.posterous.com/angularjs-vs-knockoutjs-knockout-
gets-kod)

(AngularJS is undergoing a flurry of development so don't use the v0.9.19
branch on the site - instead, wait for v1.0 to be released, since v1.0.0rc2 is
already out. <http://angularjs.org/#/> )

~~~
va_coder
That's a great project. I've been learning coffeescript, backbone, etc and
it's dawned on my how little I know about JavaScript, even though I've been
using it for years.

------
msluyter
I went to the ember.js home page, which looks a lot nicer than parent article.
Looks pretty cool. Anyone have any input how this compares to backbone or
knockout?

~~~
JackC
That was my first question too. This is the best summary I found:

<http://smus.com/backbone-and-ember>

It links to a much longer IRC argument between their respective evangelists --
the whole thing is an interesting read if you like that sort of thing. But the
takeaway is that Ember is pretty opinionated about how to connect views to
subviews to templates to models to controllers to data stores, and backbone
pretty much lets you/makes you do it yourself. So backbone might mean you're
writing a lot of boilerplate, and ember might mean you're locked into
decisions you don't like and slowed down by cruft you don't need -- same old
tradeoff.

I'm excited to give ember a try, because my initial response to backbone was
"wait, where's the rest?" I was expecting the level of handholding of, like,
Django. So it'll be interesting to see what that's actually like in practice.

~~~
haberman
I've been extremely impressed with Knockout; just the right amount of
"opinion" to make things easy without being too imposing. Its data binding
interface is exactly what I was looking for to connect my models to views.

------
antinitro
The quality of the code images honestly put me off reading the article.

~~~
joachimhs
You can click to enlarge them, or you can click the link in the figure text to
be taken to the correct GitHub revision of the file :)

~~~
davej
Why are they images in the first place though? It's just code.

~~~
joubert
Sidenote: I love how Posterous has nice github code integration. I wonder what
other blogging systems have something close/similar (for when I have to move
off P).

------
pentarim
This is almost the best article I have read about Ember.js which is not a
compliment in this case because there are so few of them. I dont even mind
images for code parts, because of rarity of this content type. I like Ember a
lot but it still has a long road ahead, until community matures around it and
helps out with more blog posts, examples, tutorials. Best of luck because its
cool stuff.

------
moondev
Anybody else confuse this with ender.js at first? Time for another rename!

------
taude
By having all these images for the code sample makes it almost useless for me
to tag and read later in one of my instapaper-esque tools.

