Framework rundown
Angular
- very easy to start (this is where it's success comes from)
- logic mixed with HTML (bit like PHP) - for him it's a red flag. You have to apply a lot of framework-specific knowledge. You add a lot (too much) directives, rules through html attributes. He doesn't find it a good programming strategy
- you're learning angular, not JS. – On his team, he doesn't want people to learn one specific solution
- highly abstracted – amongst others: very hard to customise
Ember
- lots of decisions made for you – there's an ember-way of doing everything – he cites this as a "good thing"
- everything is "ember" as a base – "all in" framework
- lack of flexibility (see previous point)
- rather large – resource hog (cites a Mozilla engineer who said that memory usage of an Ember app on low-end mobile device is already "blocking"_
- Tweet from "Yehuda Katz" > As I keep saying, if you are a person who prefers flexibility, don't use Ember. The advantage is that you can rotate your employees, if you know ember you can pick up quickly a new project
Backbone
Has less attention today, because it gets less new features today. Still it has one the largest deployment of all frameworks
- first one to go big - the three biggest neswpaper sites are using Backbone
- basic building blocks - incredible flexibility
- models - observable objects
- collections - observable arrays
- routers
- some conventions for views
- events
- used everywhere
- extremely flexible
- you have to solve more problems – that are not given by the framework
React
- not really a framework (no state, no controller)
- view layer
- doesn't directly deal with storing state
- can render server-side
- can re-inflate – initial render on the server and "inflate" it on the client (id's on elements, checksums)
- dramatically simplifies bindings – explains more (note: need to rewatch)
Ampersand
- fork of backbone
- a fear-of-commitment framework
- no "core" modules (there's no ampersand.js)
- individual npm modules
- insanelt flexible