Backbone.js is a JavaScript framework providing structure for web applications. Created by Jeremy Ashkenas, it was one of the first frameworks to bring MVC patterns to client-side JavaScript, paving the way for modern frameworks.
Origins
Ashkenas created Backbone in 2010 while working at DocumentCloud. JavaScript applications were becoming complex, but there was no standard way to organize code. Backbone provided minimal structure without being prescriptive.
Key Concepts
Backbone introduced structure through:
- Models: Data and business logic
- Views: UI rendering and event handling
- Collections: Ordered sets of models
- Routers: URL-based navigation
- Events: Observable event system
Philosophy
Backbone was deliberately minimal:
- No opinions on templating
- No data binding (initially)
- Freedom to structure as needed
- Small footprint (~8KB)
Impact
Backbone’s influence outlasted its popularity:
- Proved client-side MVC was viable
- Influenced Angular, React, and Vue
- Established patterns for SPAs
- Showed JavaScript needed structure for complex apps
Many teams later migrated from Backbone to React, but Backbone taught the industry that JavaScript applications needed architectural patterns.