
Overview
Who Should Go?
Choose this training session if you're an intermediate web developer with a good understanding of HTML, CSS, and JavaScript. Prior experience with Ember is not expected, but you should have a strong understanding of working with the DOM using jQuery.
You should already be experienced with web development, but have a desire to ramp up your skills to create more "application-like" experiences.
We expect participants in this course to be fluent in JavaScript. The pace of the course is designed for those who have had significant hands-on experience using JavaScript. If your JavaScript skills are not strong, consider first taking a course on JavaScript, like Foundations of Programming with JavaScript from our friends at Bocoup.
What We'll Teach

Ember is a JavaScript framework for creating ambitious web applications that eliminates boilerplate and provides a standard application architecture.
Course Breakdown
Scalable Application Architecture
You'll learn how to use the MVC (Model-View-Controller) pattern to manage the complexity of your application as it grows. By separating code into distinct objects that work independently, you can test, debug, and collaborate more easily.
You’ll also learn best practices for organizing your source code in a way that makes it easy for your team to understand each other's code.
Views & Templates
Discover how to build advanced user interfaces with composable views that bind to your model data and always stay up-to-date.
Routing
Ember's router puts the URL front and center. We'll show you how to map URLs to templates and models, which makes your apps shareable, as well as serving as the scaffolding that allows your application to grow without collapsing in on itself.
DOM Integration
Most of the time, you'll be using Ember objects and templates to keep your
UI up to date as things change. We'll teach you how to integrate directly with
native browser features, like the <audio>
tag so that your
UI can seamlessly take advantage of continued improvements to the web platform.
Actions and Events
You'll learn how to use actions and events to communicate between the components of your application.
Persistence
Syncing data with a backend server is one of the most challenging aspects of writing a web application. We’ll cover different techniques for retrieving, updating, and deleting records in a way that’s fast, flexible, and maintainable. You’ll also learn how best to handle authorizing users in single-page applications.
EMBER.JS OBJECT MODEL
Ember.js includes a powerful object model that brings many advanced features to the browser. You’ll learn how to best use these tools to share common code, describe relationships between objects, and react asynchronously to changes in your data, with:
- Objects
- Observers
- Computed Properties
- Mixins
Testing
After isolating your application into its constituent MVC components, learn best practices for testing each of these in an automated way. We’ll show you how to use QUnit to reduce bugs in your application and catch regressions. These concepts are easily applicable to the testing framework of your choice.
Debugging
Go in-depth with web developer tools to learn how to troubleshoot problems in your application. We’ll survey the landscape of available software, as well as cover Ember.js-specific tips and tricks that will shave hours off your debugging time.
Trainer Information
Tom Dale
Tom is a member of the Ember.js Core Team, and was previously on the SproutCore team. He's a former Apple software engineer who gained expert front-end JavaScript skills while working on the MobileMe and iCloud applications. He's a super hipster, and still isn't sure if it's serious or ironic.