I have been learning Ember over the last few months, and have come across some great resources which really helped me come up to speed.
Here’s what I used to get started with Ember.js. I started from a point of having a lot of development experience, with a strong knowledge of Rails and JavaScript (but not ES6).
A Rails background helped me because I had already accepted the ‘convention over configuration’ approach that Ember.js uses, so did not have to do the requisite (and not that useful imho) muttering about ‘magic’.
Without further ado, and in chronological order, here are the resources that I found most useful.
- Ember.js Guides. Being honest I didn’t get a lot of this at the start, but as you learn, keep going back and reading.
- ember-cli 101. Brilliant book that takes you through the process of building an app.
- JavaScript Design Patterns by Addy Osmani. Not Ember.js specific, and slightly dated with the onset of ES6, but great reading if you want to know the background of the kinds of problems Ember.js solves and understand the design decisions behind your favourite JS libraries.
- Test-Driven Development by Example. A fantastic live coding video from EmberConf 2015 by Toran Billups
- Reading Group. An organisation called Foraker generously shared their internal reading group notes. Really useful to work through.
- Pair Programming. I was lucky enough to spend some time with a couple of experienced Ember.js developers pairing on solving a problem. Really helped to put my learning in context and see how more experience users of the framework operate.
Finally I also created an Ember app as a learning exercise - something I strongly suggest. Given that I had just watched Daredevil I decided to build a front-end for the Marvel API.
The source code for my app is available https://github.com/dtt101/superhero. It has full local setup instructions and how to run the tests. Pull requests or suggestions always welcome ;)
What’s next? I am going to focus on improving my Marvel app, and showing some more of the data that the Marvel API provides. I also presented Ember.js to the rest of my team (slides online here).