One of the hottest new libraries in frontend development is Ember.js. It’s a framework built to improve and expedite the development process of web applications.
Many developers are latching to this project because of the great community and powerful tools. But most newcomers will admit that Ember.js presents a very steep learning curve.
In this post I’ve organized the ultimate collection of Ember.js learning materials both free and paid. If you’re looking to get started with Ember then this post will have something for you.
Ember is based in MVC so the more you know about MVC the easier it’ll be to learn Ember. Granted the team has changed directions recently, but an understanding of MVC architecture is still incredibly useful for picking up the basics.
If you don’t know anything about MVC check out this video. It’s hard to explain MVC without using a language as an example, so as you search don’t be discouraged if results lead you back to the same programming languages.
And it should go without saying that you’ll need a firm grasp on the primary frontend languages. HTML, CSS, and basic JavaScript development should all be ingrained into your brain before attempting to learn Ember.
You don’t need to be an expert frontend dev to get on the learning track. But if you struggle with basic JavaScript fundamentals then you’ll have an even more difficult time picking up Ember.
Also note that Ember.js uses Handlebars.js for templating. This should be easy to pick up as you go along, so you really don’t need to master the Handlebars library before starting. But don’t be surprised when templating keeps coming up in tutorials.
Note that Ember does have a steep learning curve and will take patience. This will be easier if you already know MVC concepts and a good amount of JavaScript. But even with that advantage you’ll still need to put in the hours to understand & build full-scale Ember web applications.
The first place most users start is on the web. Developers often write custom tutorials to teach other devs new techniques.
I recently stumbled onto this intro tutorial on The Tech Cofounder. It teaches the absolute basics of Ember setup by using the Ember CLI. This is a very long post and it’s not all beginner level material.
However it does guide you through some important topics like routing and templating with the command line.
A much more newbie-friendly intro is Vic Ramon’s Ember tutorial broken down into 22 chapters.
I this this is the quintessential guide for anyone looking to learn Ember for free. Yes you can follow through the Ember.js documentation, but that’s not always helpful and can even be confusing to some readers.
Vic’s guide is fluid and very natural in its segue between topics. You start with the basic setup and “Hello, world” application but quickly move into routing, views, controllers, and more advanced real-world programming concepts for Ember applications.
If there’s one place you choose to start it should be Vic’s guide. It’ll hold your hand throughout the whole process and if you have questions you can always ask with the emberjs tag on Stack.
One other friendly introductory post is this one on Smashing Magazine. It is a few years old so a few of the snippets may be out of date compared to the current version of Ember.
However I have to tip my hat to the author Julien Knebel and the entire Smashing editorial team. They did an excellent job on this piece and there’s even an organized table of contents to help you browse through the sections.
Everything I’ve ever found on Smashing Magazine has been the highest quality content. I think the same can be said of their guided intro to Ember.js.
The only other design blog I think of for high-quality content is SitePoint. And while doing a search I did stumble onto a guide for getting started with Ember that I think would suit any frontend developer.
And if you didn’t already know, Ember.js does have its own guide for newbies. It’s completely free and developed from the Ember.js team so it’s always up to date.
You’ll start with the basics of installing Ember on your computer and quickly move through all the fundamentals. If you’re a self-starter with experience in other JS frameworks like React then you should have no problem with Ember’s documentation.
But I’ve often found these types of guides to be verbose and too assumptive in nature, leaving many eager developers behind in a pool of their own frustration. So my goal of presenting these other tutorials is to give you alternate options to follow if you ever get stuck on one particular guide.
And here are some honorable mentions also worth checking out:
I still love my programming and web development books because these helped me get started on the web over 10 years ago. Back in the mid-2000s there weren’t many other options. And while online tutorials have offered a great alternative, books can still prove invaluable to the learning process.
Perhaps the best(and cheapest) place to start is this Ember.js book written by Todd Abell. It comes in print and Kindle form so you can have it delivered digitally if you prefer.
I like this book because it covers all the basics of Ember without getting too bogged down in the details. It’ll move you through the process with ease and you’ll have no problem picking up the pieces as you go.
It’s 200 pages long and it’s one of the more recent books having first been published in May 2016.
I also think Ember.js Web Development with Ember CLI would be a great choice for a beginner. It spans 170 pages of basics for frontend developers looking to learn Ember quickly.
You may not need much prerequisite knowledge if you read this book because it covers a lot of the fundamentals in early chapters. And Packt even released a free intro chapter to one of their Ember books which got scrapped during production.
One other title I want to recommend is Ember.js in Action by Manning Publishing. This isn’t really for beginners but it’s a nice tie-in for the middle ground. If you already know some Ember.js code but want to advance your knowledge then Ember.js in Action will be a great choice.
I’ve also seen mixed reactions for Building Web Apps with Ember.js by O’Reilly. Their quality is often unmatched but this book seems very touchy with readers. It’s either helpful or not so helpful with very little in between. Give it a go if you’re willing.
Now intermediate-to-advanced Ember developers do have a few books that’ll help them learn too. One is the Ember.js Cookbook first published in February 2016.
This book comes with 300+ pages containing dozens of code snippets and common recipes for Ember.js development. Beginners may even learn a thing or two from this book, although it acts more like a reference guide for building custom Ember apps.
All the “cookbook” dev books I’ve ever had were fantastic and this one is no exception.
But if you’re looking for a more technical walkthrough check out Mastering Ember.js. It’s one of the best continuations to learning Ember you’ll find in book form.
Mastering Ember.js gets into the details of debugging, modularization, REST API development, and creating real-time interfaces with Ajax-style technology. These topics are not for the novice developer but they can be useful once you get past the basics.
Also I know Handlebars will be a big topic for Ember enthusiasts, so the following two books could get you up-to-speed with Ember’s templating library.
Instant Handlebars.js by Gabriel Manricks is quick but efficient. It clocks in at 62 total pages but gives you a very accurate rundown of Handlebars in web development.
Quick Handlebar Templating is one more option that’s very affordable and very small. This book is only 38 pages long but still offers plenty of information on Handlebars templating.
Granted you can always pick up Handlebars with free tutorials online. It’s not a convoluted templating engine and you’ll have to pick it up as you move forward with Ember. But some people prefer books for their stability and detailed focus on the subject matter.
One last thing you may want to learn about is JavaScript. Since Ember is built on the fundamentals of JS code you’ll really need to be well-versed in this area.
Eloquent JavaScript is completely free and available to anyone online. It’s often regarded as the go-to source for learning how to write JavaScript the proper way. And for the price tag there isn’t much room to barter.
If you want the Eloquent JavaScript print edition you can pay for that. Some devs prefer physical copies to read away from the monitor.
But in truth JavaScript is something you’ll learn best through practice. I think this book is the absolute best place to start for beginners, but you’ll only really internalize the material by building stuff and memorizing how it works.
Beyond free written content we also have a lot of free video content online. The rise of YouTube has given developers a chance to share their knowledge for free in lengthy tutorials that are great for visual learners.
The first series I’d recommend is by QuickLesson broken down into two parts. The first video covers basics and getting started while the second video gets more into the app development side.
Both videos span one hour each so they’re doable in a day. The code samples are also fantastic and well worth following if you’re into video tuts.
The developer Brad Traversy also put together his own video series in three parts teaching you how to build a task manager from scratch. He released the full code for free on GitHub and walks you through each part step-by-step.
Here are the three video links in his series.
Some people want to dive right into Ember and build apps from scratch like in this tutorial. Others would prefer to study the syntax and methodologies of the framework before putting them all together in a real project.
There is no correct answer other than whatever works best for you. These tutorials will give you places to start, but you’ll need to take that first step to actually learn something.
EmberCasts is a great website that’s totally free and catalogs Ember.js screencasts. This would be another great option if you’re a solid visual learner.
Although the content is brilliant I do find the website’s interface a bit fractured and hard to use. But if you browse the site enough you’ll find all the content you need.
One other source I’d highly recommend is the CodeLogical YouTube channel. This is packed full of Ember.js tutorials averaging 5-10 minutes per video.
You can learn specifics like model relationships or you can get detailed with a full shopping cart app. The tuts on this channel are fantastic for beginner and intermediate Ember devs because they cover such a wide variety of content.
Web development conferences also record videos from presentations and post them online. Some are rather advanced but these conference videos can be another place to find quality introductory materials. They’re almost like mini lessons with guided instructors presenting in front of a class(read: audience) of varying Ember.js experience.
I’ll share more conference presentation videos later in this post, so if you don’t like any of these video tuts just scroll down to the conference section and try those instead.
But for now here are some other free YouTube tuts you might enjoy.
It’s so hard knowing where to put money for online courses. I often prefer premium content because it can be much higher quality and the creator can support themselves by selling great learning materials.
But where should you even begin with Emberjs courses? I don’t have the perfect answer because new courses pop up all the time. So here’s my opinion on some premium courses that can get you started on the right track.
The Code School website has a ton of awesome stuff and their Emberjs course is impeccable. The very first “getting started” video is free for everyone so you can get a taste of the teaching style.
Everything else requires a subscription but it’s well worth it. The estimated course length is 2-3 hours and you’ll learn a lot of pragmatic Ember skills from the course.
Plus the monthly fee entitles you to a wide range of Code School learning courses, which means you can brush up on other features like ES2015 and MVC development on the backend.
Another site I really respect is TutsPlus by Envato. They produce a lot of free content but also feature a hefty collection of paid premium courses too.
They have a few different Ember courses to choose from. First is Let’s Learn Ember which spans about 2.5 hours of introductory material. There’s also EmberJS Framework Basics which is a bit shorter and two years older, yet still offers an easy-to-follow style of teaching.
TutsPlus works off subscriptions so if you sign up for premium you get access to both courses for one price. You’ll also get Ember for Beginners which is OK, but certainly not worth chasing. All three of these courses are intro courses so they’d be most effectual on beginners.
Over the years I’ve seen many compliments given to the Treehouse lessons. The best ones seem to be courses targeted at beginners who want to get into web design & development.
This means if you’re a complete beginner you can pickup HTML, CSS, JavaScript, and Ember.js all from the Treehouse library. Their Ember course is somewhat advanced but it’s still a great guide for developers.
The unique thing about Udemy is that content can be submitted by anyone. This is a double-edged sword because you have access to so many great content creators, but also a lot of bad ones.
As you can imagine there are tons of Ember courses on Udemy. Master EmberJS is one of the more decent choices because it’s fairly cheap and super long. The course measures 6.5 hours long and it’s packed to the brim with templates, routing, components, and even more advanced topics.
A shorter but equally great course is Build Web Apps Using EmberJS: The Complete Course. It’s right around the same price as Master EmberJS so you can’t go wrong either way. But for the money Master EmberJS is a bit longer and covers more material.
Also do a search on Udemy for other EmberJS courses to see what’s out there.
Pluralsight is the dev counterpart to Digital Tutors. They both do incredible tutorials but they’re all mostly introductory courses. This means it may not be the best place to use unless you’re a complete beginner, and with so many other options you might wanna pass on this one.
But they do have a decent course titled Ember.js Fundamentals spanning 5hrs of total video time. Definitely a nice course for beginners who have no idea where to start and want to follow the advice of a professional.
One last course is this one by Gaslight. It’s fairly expensive so I can’t say I personally recommend it for a beginner. But it does have 35+ screencasts and content made by the creators of Ember.js so it may be worth the money.
Let me start this section by stating that hundreds of free Ember.js conference videos are curated on Ember Watch, a community site for sharing recorded Ember talks.
The videos are organized by month and the list continues to grow every year. They’re all free. Seriously it’s basically the site for Ember conference videos.
With that resource in your hands you basically have access to every possible conference talk & presentation you could ever need. But I’ll list a few of my favorites and the most prominent ones for beginners.
Prototyping a new Ember app has clean audio, great visuals, and fits perfectly for someone who wants to dive in and take action. It’s meant to get you up & running with EmberJS in a half-hour or less.
Conference videos often cover topics that are way over the heads of newcomers so they can be off-putting. But if you search around long enough you’ll find intro videos that can provide real value to someone with no foundational knowledge.
Here’s another cool example titled Zero to Real-Time EmberJS. It is a bit more advanced but it’s also great for diving head first into the framework.
If you’re more into the philosophical stuff check out this talk given by Ben Lesh, the Senior UI Engineer at Netflix. He talks about how Netflix employs Ember.js for product development and how the team manages their Ember workflow.
Many of these conference presentations veer into detailed use cases for the Ember framework. It’s a powerful tool and once you understand the basics, you really can build anything with it.
Take for example this talk by Edward Faulkner explaining animation with Ember.js and Liquid Fire. It’s not a complete guide, but it is a deep dive into the subject and it’s perfect for newcomers.
I also like the Ember + D3 talk for data visualization given by Jeff Butsch. For a shorter and more sporadic talk check out awesome Ember tricks from the Spotlight Advanced JS event.
When you’re watching these more obscure Ember.js talks be sure to browse through the recommended videos in the YouTube sidebar. I often find rare gems in the list that catch my attention and introduce me to something else I never knew existed.
If you’re looking for a great afternoon you can even watch the entire EmberConf2015 conference of recorded videos in their official YouTube playlist. It covers a ton of presenters ranging from beginner to advanced.
Specifically the opening keynote is a great place to start because it gives you a look into the EmberConf event.
I haven’t been able to find many other full conference playlists but the EmberJS 2016 videos have been published on Confreaks.tv.
As you move forward just be aware that conference presentations can be a huge source of information and inspiration. Some conferences do not publish videos but a good majority do, and most of them can be watched for free on YouTube if you know where to look.
Once you get beyond the initial learning curve with Ember it becomes really fun. It’s one of the most popular frontend frontend frameworks along with React and Angular 2.
But if you’re not a self-starter then getting into the advanced stuff can throw you for a loop. It’s where the rubber meets the road and you start to see the scalable nature of Ember applications.
One of the best resources I have to recommend is Yoember.com. The site does have many beginner tutorials but it’s really a huge collection of specific guides ordered by release date. The page is constantly updated with new links and it even has a very detailed “getting started” guide.
This super lengthy webpage is a fantastic resource and well worth bookmarking.
And for advanced content I found a lot of value in this blog post titled EmberJS: Beyond the Tutorials. It covers the process and nature of learning Ember along with resources for all levels of experience.
For a more hands-on approach check out this Toptal guide which guides you through building your first Ember application. It’s very long and should go a bit beyond the basics to help you reach that ever-so-fuzzy “intermediate” state of knowledge.
Working with Handlebars templating may also be considered a more advanced subject, and for this I recommend JavaScript is Sexy as your guide.
Their tutorial encompasses absolutely everything you need to know about Handlebars.js. It’ll probably take you more than a day or even more than a week to complete.
But by the end you’ll be proficient in Handlebars and ready to tackle your wildest project idea. The table of contents can even help you bookmark the page to pick up studying where you left off.
And lastly I wanna share this SitePoint tutorial covering EmberJS + Laravel for web development. Because of the Handlebars templating system it’s really common to see Laravel and Ember working together.
If you’re already a PHP developer then you definitely want to follow this SitePoint tutorial at some point. It will be hard if you don’t already know Laravel. But this combination is powerful and allows for truly scalable PHP/MySQL web applications. You might also enjoy this guide if you’re completely new to the Laravel/Ember setup process.
You’ll also find a lot of brand new tutorials cataloged on the EmberWatch tutorials page updated monthly. I cannot recommend that site enough because it really is the ultimate curation of EmberJS material.
But here are some other advanced tuts worth reading if you want to delve deeper into Ember development.
As you progress through the learning stages you will undoubtedly need help. The process of bumping into problems and solving them is typically how most developers actually learn.
However some problems may be so over your head that you’re unable to solve them by yourself. But instead of getting pissed off and igniting your keyboard why not turn to the awesome community for support?
The reason so many people love Ember is because the community is a tight group of devs who love working with and contributing to Ember.js. The official Ember forums are a great place to start for meeting other developers and asking related technical questions.
Naturally there’s also Stack Overflow which can be a source of research and Q&A. You can do a Google search with the parameter site:stackoverflow.com
to limit your query only to Stack Questions.
I find this technique to work better than Stack’s internal search, plus you’ll often find answers that’ll help you without starting a new thread.
One other social community I’d recommend is the /r/EmberJS subreddit. The Reddit community as a whole is very helpful and I’ve seen many threads that reel in useful answers covering the basics up to more advanced topics.
Note that all the communities I’ve mentioned in this guide are completely free and they only cost time to signup. I think it’s well worth the effort if you’re serious about learning Ember.
Or if you want to go old school there’s an active IRC channel #emberjs on Freenode, although web forums would likely produce quicker results for troubleshooting.
You can also check out the Ember G+ community and FB page. While these are mostly promotional communities you may be able to connect with people and get some code help.
I set out to make this the ultimate guide to Ember.js learning resources, and I really hope that I’ve succeeded. But no amount of resources will help you learn unless you put them into action through practice.
This guide will help you get started but to really move with Ember you’ll need to come up with practice ideas and just build stuff. You will fail along the way. Everybody does. But use these failures as learning opportunities to help yourself improve, and maybe even help a few other struggling developers along the way.