Aligning Ember.js with Web Standards

Wow! This takes me back! Please check the date this post was authored, as it may no longer be relevant in a modern context.

This March I was delighted to present at EmberConf 2015, after a great data-layer talk by Dan Gebhardt (@dgeb) and before a heartwarming community talk by Jamie White (@jgwhite).

My own presentation was on web standards- How they are changing, and what it means for Ember.js and Ember applications.

While researching for this talk, I used several excellent resources written and organized by other developers. If you are interested in learning more about ES2015 (ES6) features, the standards process, or JavaScript in general I highly suggest these links:

As with any talk about the current state of the world, parts of it quickly start becoming out of date.

  • I draw a pretty simplistic line between working groups and standards committees in my talk. For the point of narrative and understanding how we (the web) got here it is illustrative, but these are very rapidly changing organizations with intertwined and political relationships. I encourage you to review the meeting notes, charters, and process documents of a group if you want a good understanding of exactly what they bring to our complex, modern web.
  • As of ng-conf, it looks like several decorator/annotation proposals being discussed by TC39 may have been resolved. The syntax would be:
@attr('gearsCount')
@attr('wheelsCount')
class Car {
  constructor(gearsCount) {
    this.gearsCount = gearsCount;
  }

  @dependsOn('gearsCount')
  get isModern() {
    return this.gearsCount > 3;
  }
}

var car = new Car(3);
car.isModern; // false

Decorators before the class apply to the class, and before descriptors (properties) apply to the following property.