3. The Problem
• Web applications start small
• Complexity builds gradually so it’s hard to notice
• Complex applications are difficult to iterate on
• Slow iteration === Dead company
4. The Solution (part of…)
• Documentation
• Explaining the API is not enough
• Teaches the “why” of the framework
• A code example is worth a thousand words
• Prevents misuse of the framework
5. The Solution (part of…)
• Modularity
• Monolithic frameworks are seldom worth it
• Avoid unnecessary vendor lock-in
• Some virtual DOM implementation
• Developers don’t have time to worry about the DOM
6. The Solution (part of…)
• Unidirectional data flow
• Human brain is not good at understanding two-
way data flows
• The web worked like this in 1990s. Any good
reason to change?
• Testing
• Important, but not most important
• Common by now in all frameworks
7. “I think we're in this world I'd like to call Guard Rail
Programming... 'I can make change because I have tests!'
Who does that? Who drives their car around, banging against
the guard rails? Do the guard rails help you get to where you
want to go?”
- Rich Hickey