JS Framework Hunt

Angular 2.0

Still young

Good things

  • Modular (component based)
  • Data stores
  • Flexible- ES6, Typescript, ES5
  • Fast (supposedly)
  • Traditional (html, js, css)
  • Big backer (google), big dev community
  • Doesn't have jQuery Lite

Bad Things

  • Flexible- ES6, Typescript, ES5
  • Traditional
  • Not ready for dev preview
    • Lots of missing features from 1.0

Aurelia

Simplified Ng 1.0

Good Things

  • We already know how it works
  • More explicit syntax
  • Component based 
    • ES6 and ES7
  • No directives insight

Bad Things

  • Old dog, old tricks

EmberJS 2.0

Complete MVC

Good Things

  • Robust, component based
  • Templates use handlebars ++
  • Routing is simpler
  • Matches our MVC framework

Bad things

  • Matches our MVC framework
  • Code duplication
  • Huge start up time
  • Own testing framework

React JS 1.0

Forward thinking

Good things

  • Forward thinking.
  • Component based.
  • Flux architecture
    • Great data store.
  • Animations right out of the box.
  • Simple++++++++
  • All in one page.

Bad things

  • Still young/rapidly changing
  • All in one page.
  • Testing is still questionable.
  • Groking Flux/Redux

Final Opinions

Davide:

Depends

If we want to be future proof for a NoSql, non-restful API: 

React || Angular 2.0

If we want to be really good at MVC:

Ember 2

Luis:

Depends

If we want to be near future proof:

React

If we want to be really good at MVC:

Ember 2

If we want to be faster:

Improve the way we use angular 1.x

Short term JS Todo List

Live Reloading with Rails

  • Figure out a way to reload our development JS/SASS files.
  • Probably Webpack.
  • Temp Fix: LiveReload App with the LiveReload Chrome Extension (works, but full page refresh when HTML/JS changes are done).

Integrating ES6 with Angular 1

  • Babel
    • Transpiler: sprockets-es6
      • failing until we update rails 
  • Traceur
    • By Google
      • currently testing
  • Need to figure out the best syntax

Using Services/DataStores In Our Current App

  • Need some sort of smart data store/caching system for many of our models
  • Angular 1
    • js-data-angular

JS Framework Hunt

By Davide Curletti