30 Minutes With Ember

I looked at EmberJS yesterday again because 2 leads recently were requesting it. It had been over a year since I looked at it before… or like 3 months before Google started backing Angular. In my business, my tech choice(s) are dictated by my clients and/or hiring firm. From a 30,000ft view, it’s just like Backbone but with built-in integration with and embracement of Handlebars with more helper classes.

For those who are intimidated by JavaScript MVC/application development frameworks, I assure you, the patterns are all same, and you’re just memorizing API’s with the option to adopt the development philosophies prescribed by those who you’re learning the framework from. As one of my business partners says regarding Flex frameworks:

“… Once you learn one, you know 80% of the rest.”

I’m finding the same to be true regarding JavaScript frameworks with regards to API implementation. They may all include various different libraries, perceive where to put certain code differently, differing ways to handle modules, and differing HTML integration implementations. That said at the end of the day they all have Models, they all have some sort of data binding or events, they all have Controllers or Mediators that respond to your Views, they all have Views and/or View helper classes that manipulate the DOM for/with you, some form of Router to manage the URL in the browser for deep linking and/or state management, and some Service layer management classes (excluding Backbone which defers to jQuery’s ajax classes).

Although I prefer Angular, my current and past clients keep requesting Backbone, so it was surprising to hear 2 recently request Ember.

…that and everyone loves Andy Matthews and I was bored yesterday and didn’t want to do taxes.

I also like how prudent all of the tutorials and documentation glazes over scalability. One the one hand, it’s harmful because time and time again I’m asked “how to scale client-side JavaScript applications” and using a module/class loader like Require is 50% the equation. The other 50% is all the normal software stuff you learn over the years that has nothing to do with language and tech stack (OOP, design patterns, refactoring, etc). On the other hand, this is why my peers and I keep getting hired. I know Joel Hooks and various others have written on various strategies from an honest perspective, but apparently it’s one of those things that you have to do and get vs. read and implement.

Anyway, it’s nice to see Ember is still around, and even with the site and documentation improvements, they are still way less intimidating for n00bs than Backbone.