I choose Ember.js as the framework that I was going to learn. My reasoning was that I liked Yehuda Katz’s approach to software and Ember’s adoption within industry. I also liked one of Ember’s core tenants of not making breaking changes in a major version.
I worked on this for a few weeks trying to put a little bit of time each day when I could (amongst all my other personal and work responsibilities). I think that my timing was a bit off because Ember 2.0 was in the process of coming out and all documentation (whether the official documentation or books describing Ember) was off. I got little headway because I was straddling the which Ember should I study line. When asking for ideas on the best approach I got the advice of sticking to 1.13 while also getting the advice that 2.0 changes things drastically even though it’s just a removal of things.
I’ve decided to put my Ember studies on hiatus for now. I’ll revisit when it has more stable documentation-wise and I’m able to get a more solid mental model of Ember 2.0.
The purpose of this post is to list out some resources that I’ve come across. The Ember community is really friendly and really smart. If you’re looking for Ember information then this post may be useful to you. Of course the best source of Ember information is the the Ember website and the community.
What is Ember.js?
Wikipedia has a great summary of Ember’s philosophy:
My approach was as follows:
- Learn about the Ember community and the available resources
- Apply what I learn to a project of interest
- Document the highs and the lows
Wes Bos wrote a great post about how to approach the constant change in the software industry.
Ember Community and Available Resources
I like to soak in the the components of a framework. Here are some things that I found along the way.
Where to begin but at the beginning – http://emberjs.com/ .
Twitter users worth following
I used Twitter’s ‘lists’ feature to create an Ember specific list. I found these users to be full of Emberness 🙂
Reading the fantastic Ember newsletter
A very nice weekly newsletter from http://emberweekly.com
This newsletter give you a feel for the current happenings in Ember.
I had started reading the ember-cli 101
I came across a recommendation for https://leanpub.com/ember-cli-101 from the an Ember screencast site (https://www.emberscreencasts.com/faq). I looked around other authors and Adolfo seems to be amazingly eager to keep his book and his readers up-to-date. He certainly deserved the $35 suggested payment for his book.
-> ember-cli 101 (continued)
Adolfo deserves even more than $35. Have you heard of 24 x 7 support for a book? I haven’t seen that anywhere else.
The Ember Weekend podcast – a nice casual weekly podcast about Ember related projects.
The Ember Land podcast – latest and greatest release and Ember evolution
You can find the Slack channel on this page: http://emberjs.com/community/
Ember has a Slack channel. Lots of helpful folks and it seems flame-free for newbies though you should of course do some due diligence before asking questions.
Possible places to start from
These are some things that I’ve encountered and like everything else in this post – it’s all opinion.
Where to begin?
I started reading through the ember-cli 101 book, but the problem (my problem) was that it didn’t give me the architecture/mental model for Ember.js. It looks like a great hands-on lab type of book. So I needed to find something more along architecture/mental model.
Frank’s article is about architecture
Frank Treacy wrote a great article about Ember’s architecture: http://emberigniter.com/5-essential-ember-2.0-concepts/ . I read through it and although the MVC concepts make sense. The pieces he describes don’t click for me. He has some code examples but this code forms a partial application. I needed something that’s more like a whole pie rather than slices of different pies that are put next to each other.
John Fisher had a good article about how he ramps new developers at his company
The article is at http://spin.atomicobject.com/2015/08/24/learn-ember-js-quickly/ . It’s a good source of information but it is geared towards experienced developers (John states this upfront).
-> Starting Ember Guide
While John’s Ember guide links go to 1.13, I went to the 2.0 guides since this changed just happened. Unfortunately, the 2.0 docs seemed a bit out of sync.
Ember Weekend recommendation for a book
The Ember Weekend guys have the best show notes that I have ever seen. They recommended Balint Erdi’s book.
Rock and Roll with Ember.js
The “Rock and Roll with Ember.js” book can be found here: http://balinterdi.com/rock-and-roll-with-emberjs/
Looks interesting…but now that ember-cli 2.0 is out – does that mean that the book is still valid?
Sent questions to the author. Balint was extremely responsive.
Balint’s response to my questions
Balint also mentioned that he’s working on a 2nd edition of the book for Ember 2.
So if I go with 2.0 – it’s still in the oven being baked and there aren’t books/materials to support Ember 2 beyond scattered tutorials here and there. So no cohesion. If I stick with 1.3, then I get the books and (per Balint) “90% it is the exact same thing as 1.13”. So get clarity with 1.13 or go with 2.0 with significant less support materials. Which one to pick?
The Ember core team is committed to “stability without stagnation” (per https://en.wikipedia.org/wiki/Ember.js)…so understanding 1.3 should lead me into 2.0 without too much headaches. So initially I went with 1.3.
Time to ask on Slack (EmberJS Community – #needhelp channel)
Bought “Rock and Roll with Ember.js”
This was for Ember version 1.0 when I bought it a few weeks ago. As of 10/06/15 “Rock and Roll with Ember.js” has been revised to 2.0. I’ve gotten a couple of updates since that time.
Hopefully some of the resources I mentioned are useful to you. If you’re an experienced Rails developer then Ember seems like a natural choice and it is likely to be easy to pick up. For all other developers and newbies Ember 2.0 is the way to go and up-to-date docs are almost here.