Overview

Who Should Go?

Choose this training session if you are already familiar with Ember and have worked on a full-blown Ember application in the past. Here are some terms you should be fluent in:

  • Router
  • Controller
  • Template
  • View
  • Outlet

We will also expect you to have a very strong command of the JavaScript language, and good knowledge of jQuery. If any of the following terms are foreign to you, this class will not be a good fit:

  • Closure
  • Prototypes and Inheritance
  • Function Scope
  • Object Literal
  • Debugger Statement
  • The difference between == and ===

Students should not take this immediately following our Intro to Ember class. Additional real-world experience is required.

What We'll Teach

This one-day course is a deep-dive into one of the most important topics you will need to know when building real-world Ember applications: Persistence.

Learn more at emberjs.com


EmberConf, Anyone?

This iteration of Persistence in Ember will be delivered alongside the first annual EmberConf in Portland, OR. Purchase tickets to the conference as well, and join us for all three days! Discounts available.

Course Breakdown

Persistence

Integrating with the Ember Router

Ember has well-defined hooks that prompt your application when specific models are needed. We'll cover these hooks, and show you how to craft your models so they seamlessly drive the URL.

Asynchronous Requests Without Callback Hell

Programmers familiar with asynchronous programming know that it can quickly spiral out of control. We'll teach you to harness the power of asynchronous programming with promises. By using the common language of promises, you and Ember will get along like two peas in an async pod.

Caching and Identity Maps

When you are building a JavaScript application, responsiveness is key. There is no better way to make fast apps than to cache data in the user's browser. We'll show you how to index models by their ID, so that you only load the bare minimum over the wire.

Streaming Data

To deliver an even better experience for your users, you can open a socket directly to a server and have changes to models stream in in real time. You'll take advantage of Ember's live updating templates to display streaming changes to your user with a minimum of code.

Common Gotchas

Errors and conflicts and race conditions, oh my! Learn from our mistakes and discover how to write network code that is resilient to common pitfalls.

Handling Initialization and Testing

We'll show you how to make the model library that you've written available to other objects in the system, in a way that is testable and memory-efficient.

Trainer Information

Yehuda Katz

Yehuda Katz

Yehuda Katz is one of the creators of Ember.js, a member of the Rust Core Team, and a retired Ruby on Rails and jQuery Core Team member. At Tilde he works on Skylight, the smart profiler for Rails, and does Ember.js consulting. He's best known for his open source work, which also includes having created projects like Thor, Handlebars and Bundler. He travels the world doing open source evangelism and web standards work, and has written several successful technology books.

Tom Dale

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.

Book Training

Loading...