Framework rundown

In notebook:
Building Modern Web Apps
Created at:
libraries JavaScript React Ampersand


  • 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 


  • 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


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


  • 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)


  • fork of backbone
  • a fear-of-commitment framework
  • no "core" modules (there's no ampersand.js)
  • individual npm modules
  • insanelt flexible