The Ember.JS Firehose

I’ve finished my first couple months at my new job at Interactive Intelligence.  Its been a lot of learning, a firehose if you will:-)  I’m working on an app built using Ember.JS, and learning that ecosystem has been both fun and time consuming.

Some impressions on what Ember has...

A Learning Curve

Ember’s a bit different coming from my previous Javascript experience working in Dojo, and then playing some in Angular.  It has quite a bit of structure to learn, and it actually polyfills javascript to enable its binding capability.    Learning the technology was a series of struggles to wrap my head around and get used to each of these aspects.  In addition, unit testing and build are different than I’m used to as well.  They have an ecosystem built around ember, all of which requires some learn’n.  Also the docs are a bit overwhelming at first.

A well done framework

So if you too are starting to look at Ember and are feeling a bit overwhelmed, don’t despair.  The plus side is I found that after struggling through most things once, i get it, and can actually see why its done and what it buys you.  The code you end up producing for it is pretty clean and modular, and you can get stuff done with surprisingly little code.  The other thing I’ve found is that its been improving a ton over the past year.  They are moving from a MVC approach to a more reusable component.  This is an approach that works well, and one that other libraries are using, such as React and Angular 2.  In fact the next major Ember release plans to include rendering in much the same way as React.

A Passionate community

One thing that’s really stuck out to me is how involved and passionate the ember community is.  The core committers are super engaged in the community via its super active Slack Channel and Forum.  There are also several podcasts where many of the passionate and influential community members discuss experiences, new features and add ons to EmberJS.  Development on the platform is super active.  Like I mentioned, there are lots of improvements and add-ons being developed.  There’s also a good article/talk discussing ember’s community activity vs its google trends that I think does the subject justice:

Plans this year as the hose dies down:

  • Contribute back code to the Ember community in some capacity this year
  • Present at a meetup (maybe the ember one)
  • Dive into its unit test and TDD capability: I feel like Ember has an interesting approach to web unit test, but as I do it I'm running into some challenges around async and the ember lifecycle.  I'd like to get a better understanding and work to make this a more engrained part of the team.
  • move this blog to Ghost - its an open source ember app!