script tags inline in the HTML page itself. • Okay, that’s ugly, extract it out into JS files. • Why not use MVC, MVP and whatnot? Let’s do it Rails-style! • Listen for changes using Object.observe maybe, huh? • Object-oriented -- Before and after ES6? // Coffee, Backbone • 2-way data-binding, dirty checking. Yeah, that’s really DIRTY! // Angular v1, Ember • Unidirectional data flow, virtual DOM, immutable data, smart and dumb components, single source of truth… // React + Flux • Uh… Runtime errors. Be polite and just be optionally type-safe. // TypeScript, Reason 5