We've been using Ember in our production environment for nearly a year now. There are lots of plus' and some minus', but I'd like to take a few minutes to share our experience.<p>We picked up Ember 0.8 in March of last year. Having some prior SproutCore experience it was a pretty easy thing to get going with. Back in those days, Ember was pretty nonconventional, there was a right way and a wrong way to do things, but the framework didn't really enforce a strong point of view. This was really good and really bad at the exact same time. The good was there was a much lower learning curve. The bad was it was so easy to head down the wrong path and shoot yourself in the foot.<p>I think in the summer of last year, just after Ember 0.9.8 was released, many of the core team members started to explore some the criticism and problems with the framework at the time. The end conclusion, from my view, was to restructure the architecture of the framework. The pieces were the same, but they fit together differently. The biggest of these changes was with the introduction of the strong router conventions. In addition, there we're major changes to the default template context, view hierarchy, runtime and metal, among others. IMHO this was the first time Ember really expressed a strongly enforced convention through the framework.<p>Fast forwarding to today. Ember has a lot of concepts that people have spent months and months working on. I can sit here and endlessly explain why how the router's pattern makes your application more flexible, or how the template patterns make for easy reuse, etc etc etc. But the truth is you won't really appreciate them until you've given Ember a fair shake.<p>EDIT: A fair shake doesn't mean picking it up on a weekend. A fair shake means trying to build a reasonable size application with it. Spending a two or three weeks. It has a big learning curve, but that doesn't mean it isn't valuable.