Backbone.js
| Backbone.js | |
|---|---|
| Developer | Jeremy Ashkenas |
| Release | October 13, 2010 |
| Stable release | |
| Written in | JavaScript |
| Operating system | Cross-platform |
| Size | 7.9 KB production 72 KB development |
| Type | JavaScript library |
| License | MIT |
| Website | backbonejs |
| Repository | |
Backbone.js is a JavaScript rich-client web app framework based on the model–view–controller design paradigm, intended to connect to an API over a RESTful JSON interface. Backbone has only hard dependency, which is on one JavaScript library,[2] Underscore.js,. jQuery can also be optionally used for the library.[3] It is designed for developing single-page web applications,[4] and for keeping various parts of web applications (e.g. multiple clients and the server) synchronized.[5] Backbone was created by Jeremy Ashkenas, who is also known for CoffeeScript and Underscore.js.
When handling the DOM Backbone.js adopts an imperative programming style, in contrast with a declarative programming style (common in AngularJS using data-attributes).[6] Trying to provide "the minimal set of data-structuring (models and collections) and user interface (views and URLs)",[7] leaves to the developer the choice of extensions for enhanced functionality. For example, one can use nested views with Backbone Layout Manager or model-view binding with ReSTbasis.
History
[edit]Backbone.js was created by Jeremy Ashkenas, who is also known for developing CoffeeScript and Underscore.js.[8] The library was first released on October 13, 2010, and was designed to provide a minimal set of data-structuring (models and collections) and user interface (views and URLs) to JavaScript developers building single-page applications.[9]
Backbone.js gained popularity during the early 2010s as a foundational framework for building structured client-side web applications, preceding the later rise of frameworks like React and Angular. While adoption of newer frameworks has increased since 2015, Backbone remains maintained for its large existing user base.[10]
The project has continued to receive updates focused on stability and compatibility. Version 1.6.0 was released in February 2024, and version 1.6.1 followed on April 1, 2025.[11]
Architecture and design
[edit]Backbone.js implements the Model–view–controller (MVC) pattern with three core components: Models, which represent data; Views, which handle user interface rendering; and Collections, which manage sets of related models.[12] The library has only one hard dependency: Underscore.js. jQuery can optionally be used for DOM manipulation and utilities.[13]
At only 7.9 KB minified and gzipped, Backbone.js provides developers with a lightweight alternative to heavier frameworks when implementing MVC patterns in the browser. The library's minimalist philosophy emphasizes developer flexibility over prescriptive conventions.[14]
Comparison with other frameworks
[edit]Unlike AngularJS, which uses a declarative programming style with data-binding through HTML attributes, Backbone.js adopts an imperative programming style requiring more explicit event handling and DOM manipulation.[15] This design choice reflects Backbone's philosophy of providing structure without imposing a rigid framework.
Later frameworks such as React, Vue.js, and Angular have become more prevalent, though Backbone.js continues to be maintained and is still used in production by several large organizations.
Use
[edit]The following web applications are built with Backbone.js:[16]
References
[edit]- ↑
Error: Unable to display the reference from Wikidata properly. Technical details:
- Reason for the failure of {{Cite web}}: The Wikidata reference contains the property based on heuristic (P887), which is not assigned to any parameter of this template.
- Reason for the failure of {{Cite Q}}: The Wikidata reference contains the property based on heuristic (P887), which is not assigned to any parameter of this template.
- ↑ Alex MacCaw (18 August 2011). JavaScript Web Applications. O'Reilly Media, Inc. p. 165. ISBN 978-1-4493-0351-8. Retrieved 2012-04-27.
- ↑ Dependencies, BackboneJS, October 14, 2015
- ↑ "What SendHub Learned Building a Single-Page Backbone.js App", ReadWrite, March 16, 2012[dead link]
- ↑ "Behind the rumours: how we built our Twitter riots interactive", The Guardian, London, 8 December 2011
- ↑ "Backbone.js". backbonejs.org. Retrieved 2017-06-01.
- 1 2 3 4 5 6 7 8 9 10 11 12 "Backbone.js".
- ↑ "Backbone.js". Retrieved 2026-09-04.
- ↑ "Backbone.js GitHub Repository". Retrieved 2026-09-04.
- ↑ "Backbone.js Changelog". Retrieved 2026-09-04.
- ↑ "Release 1.6.1". GitHub. Retrieved 2026-09-04.
- ↑ "Backbone.js Documentation". Retrieved 2026-09-04.
- ↑ "Backbone.js". Retrieved 2026-09-04.
- ↑ "Backbone.js production version". Retrieved 2026-09-04.
- ↑ "Backbone.js vs Angular". Retrieved 2026-09-04.
- ↑ "Companies and Websites using Backbone.js". Archived from the original on 2017-05-12. Retrieved 2019-06-01.
- ↑ "Organizing Your Company to Embrace Microservices". InfoQ.
- ↑ John Paul Titlow (22 July 2013). "Inside The Tech Stack Digg Used To Replace Google Reader". Co.Labs. Archived from the original on 2013-07-25. Retrieved 2013-07-22.
- ↑ "Backbone.js and Underscore.js are bundled into Drupal 8". 30 July 2013.
- ↑ Backbonification: migrating a large JavaScript project from DOM spaghetti to Backbone.js Deprecated link archived 2013-01-20 at archive.today, Samuel Clay (NewsBlur) 13th November 2012
- ↑ "Mobile UI Components". Retrieved 2014-03-22.
- ↑ "A Shorter Letter". Retrieved 2014-03-22.
Further reading
[edit]- Osmani, Addy (March 22, 2013). Developing Backbone.js Applications (1st ed.). O'Reilly Media. p. 150. ISBN 978-1449328252.
- Echamea, Abiee (January 15, 2016). Mastering Backbone.js. Packt. p. 278. ISBN 978-1783288496.