Ember Basics

Ember.js boasts unparalleled developer productivity, an unwavering focus on making web development fun and easy, and some of the best build tools in the world. We'll cover all of the important fundamentals you need to know, in order to successfully get up and running.

Ember Basics

Objects, Properties & Actions

Nearly all of Ember's important types extend from a core Ember.Object class, which we'll study, and compare to JavaScript's Object and Class concepts.

Some types of ember objects, like Routes, Controllers and Components can handle user interactions by way of actions. We'll cover strategies and best practices for action handling, including:

  • the {{action}} helper
  • closure actions
  • action bubbling
  • the {{route action}} helper
  • the {{mut}} helper

  • Objects, Properties & ActionsObjects

    We'll look at Ember.Object in detail, including:

    • using the KVO-compliant get and set methods
    • adding instance and static methods with reopen and reopenClass
    • lifecycle hooks
    • events
  • Objects, Properties & ActionsExercise: Extending Object

    We'll create our own subclass of Ember.Object using extend(), and incorporate:

    • proper handling of setup and tear-down logic
    • firing events using Ember.Evented
    • getting and setting properties
    • reopening
  • Objects, Properties & ActionsServices

    Services are a means of sharing state & functionality across various aspects of an app. We'll explain what makes services a simple, but powerful concept, and illustrate service use via Ember.inject. Finally, we'll get a sneak preview of the important role services play in the upcoming engines framework feature, and explore the "do's and don'ts of service design*.

  • Objects, Properties & ActionsExercise: Services

    We'll improve our bound handlebars helper, and take advantage of a service, so that we can share the concept of "current time" across many flavors of objects, and perform more efficient DOM updates.

  • Objects, Properties & ActionsComputed Properties

    Computed properties are a performant and intuitive way to define values that are based on other values. We'll take a short trip through the internal implementation of a computed property, and contrast it with the more expensive and error-prone concept of Observers.


Key Fundamentals

We'll cover all of the important concepts you need to know in order to take advantage of everything the framework has to offer. From the routing layer to components and composeable handlebars helpers, we'll show you how to build quickly and sustainably, without accruing much tech debt at all!

No Toy Examples

Courses based on small and easy examples cheat students out of the experience of learning how to solve real-world problems. All of our courses are built around meticulously crafted multi-stage projects, with the goal of giving you exposure to the kinds of challenges you'll face when building an app of your own.

Underlying Ideas

In this course, we'll go way beyond just a simple "how to", and explain why things work the way they do, and how each individual concept fits into the way we build apps of various shapes and sizes. Ember aligns with modern web standards, and we'll be sure to point out these alignments along the way.