Why Frameworks in the First Place?
- Differences in the DOM (i.e. jQuery normalization)
- Lack of built-in templates
- Need for SPA routing (journal)
- Asynchronous module loading/managing the dependency graph
- Testability
- Databinding
- Contracts (Types and Interfaces ➡ TypeScript)
- Minification or "Packing"