For every web developer that falls in love with Ember there’s a struggling developer bashing their keyboard over Ember’s insane learning curve. And while it can be absurdly frustrating to get started with this open source framework, the rewards are immense.
After reading through Ember.js in Action I have to say it’s a decent intro book for beginners. Unfortunately it’s dated over two years old so many of the code samples are outdated compared to the current version of Ember.
But all-in-all this is one of the better books when it comes to understanding the structure of Ember and how you should think while building your applications.
In 260 pages you get a powerful introduction to the Ember library including the basics of an MVC framework, handling response data, and building on top of the Handlebars templating engine.
The book has three unique parts containing a total of 11 chapters. Here’s a breakdown of the book outline:
Part 1: Ember.js Fundamentals
Part 2: Building Ambitious Web Apps for the Real World
Part 3: Advanced Ember.js Topics
The book’s author Joachim Haagen Skeie is a Norwegian software developer who actually runs the Emberfest EU conference. He’s one of the best candidates I could imagine to pump out a book of this caliber.
The first section does teach slowly but when it throws you into real examples the content moves quick. There are no simple application basics when it comes to code samples from this book.
Skeie starts you off with MVC basics and understanding how Ember.js applications are structured. This includes routing and an introduction to the Handlebars.js templating system.
In the second chapter you get to the meaty topics of server-side development and data handling.
Unfortunately this book only covers Ember v1.0 and the current version is somewhere in 2.x. This means a good portion of the code is either somewhat outdated or just wrong(in hindsight).
All the topics, concepts, and architectural points are still correct and valid for Ember development. But you’ll need to do a lot of research to update your codebase for each tutorial.
In the last section the author covers more advanced topics like authentication and webapp deployment. These sections can always be saved for a later date once you feel more comfortable with Ember as a platform.
Because so many of the code snippets are outdated I have a tough time outright loving this book. The tutorials are beautiful and straightforward, not to mention that the author doesn’t waste your time with crappy applications that serve no purpose.
If you’re willing to do some research and update the code as you go this book will teach you the fundamental concepts of Ember.js in exactly the right way.
Beginners will appreciate the detailed explanations, but perhaps not so much the writing style. It’s terse and to the point so you’re expected to follow along quickly.
The good news is that while the writing may be fairly complex, the topics do start from the beginning. It helps if you understand the basics of MVC but this is not a requirement.
Let’s break down some pros and cons for this title:
Based on the writing style alone I can tell the author knows his stuff. But I personally found the explanations a bit too detailed, and in many cases too wordy.
The author does provide explanations for each line of code detailing purpose of that line and what it does. But if you don’t already have some knowledge of Ember you’ll struggle in the beginning. This is very common and Ember has a reputation for its steep learning curve. There are ways to learn faster but this author’s writing style doesn’t help much.
Everything in the book is quite logical and the applications are phenomenal. I’m amazed how the author pulls a beginner from chapter 1 through backend data management and eventually to live deployment.
Some readers may feel rushed and need to break by researching certain topics online. Unfortunately the codes will be quite different considering the rapid growth of Ember.
Overall the concepts are good and the author knows what he’s talking about. But since this title is fairly outdated developers may not want this until it’s updated with a 2nd edition.
As an alternative I’d recommend this title which is quite a bit shorter and much more detailed, but it’s also up-to-date with the newest version of Ember 2.x.
JS developers who want to pick up their first framework may struggle with the writing style. It’s terse and detailed enough, but also not sympathetic to newcomers.
But ultimately because of the outdated code I really can’t recommend this book for too many people.
If you’re brand new to Ember then you’ll want a much simpler intro like Ember.js Web Development with Ember CLI. This is a much newer title so the code is updated and you’ll still get that project-based approach to learning.
The author is a very talented developer with years of experience in Ember.js. He covers so many features of Ember and they’re all incredibly detailed.
Unfortunately the outdated code alone is enough for me to pass on this book. And let me state emphatically this is not the author’s fault. Ember moves quickly and print has a tough time keeping up with these changes. But that still doesn’t mean I can recommend this title for a beginner trying to learn Ember 2.x.
If you already know MVC and want to pick up Ember.js in Action then it can teach you the theory & architecture of Ember.js. But beyond that it’s just too outdated to recommend until it gets a newer 2nd edition.
If you really want an Ember book to get you started learning Ember.js then check out Ember.js Web Development with Ember CLI as a solid alternative.