Aurelia.js

Land Of JS Libraries

https://docs.google.com/spreadsheets/d/1B55Pt0dnENOtA0crNFxM0HkrdV_1KGaOTyu_CqQhJUE/edit?usp=sharing

Aurelia Project

  • Rob Eisenberg
    • Built Durandal
    • Worked on Angular January-November 2014
    • Started Aurelia because he disagreed with the direction of Angular 2 (http://eisenbergeffect.bluespire.com/leaving-angular/)
  • No Corporate/Financial support
  • Work Began in December 2014
  • Current Version: 0.13.2
  • Github usage statistics
    •  

But . . . why?

  • An MVC Framework . . . with conventions
  • Very simple & explicit one/two way bindings
  • Core features (Dependency Injection, ) are modular
  • Not a opinionated (the Angular way)
    • gets out of the way
    • Contributors all have day jobs as app builders -- no one is an explicit 'framework builder'
    • Rob Eisenberg references Angular's need for tooling in podcast (http://herdingcode.com/herding-code-203-rob-eisenberg-on-aurelia/)
  • Comparison: http://blog.durandal.io/2015/03/16/aurelia-and-angular-2-code-side-by-side/

Features

(many of these are merely modular recommendations)

  • Supports Evergreen Browsers (+IE9 if you add a polyfill for mutation observers)
  • JSPM
  • Systemjs
  • HTML Imports for Templating
  • ES7
  • Yes, ES7 (via babel -- https://kangax.github.io/compat-table/es7/)

JSPM

  • Bullet One
  • Bullet Two
  • Bullet Three

SystemJS

  • Bullet One
  • Bullet Two
  • Bullet Three

HTML Imports

  • Bullet One
  • Bullet Two
  • Bullet Three

Usage Points

  • aurelia-app attribute
  • view(html) & view-model(js: behavoir/data) pairs (conventions!)
  • view-model: (emphasizes that these are suggestions)
    • classes! default methods:
      • constructor
      • activate, canActivate, canDeactivate, deactivate
    • imports
    • injection, bindable decorators!
  • string interpolation, attribute binding, event binding (delegation, Object.observe/getters + setters)
  • configRouter (route, name, moduleID, title, nav)
  • repeat.for, if.bind, attributes,
  • require
  •  

Aurelia.js

By qwertyisms

Aurelia.js

  • 1,204