Wikiwand AI

Backbone.js

Javascript library From Wikipedia, the free encyclopedia

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.

ReleaseOctober 13, 2010; 15 years ago (2010-10-13)
Stable release
1.6.1[1] Edit this on Wikidata / 1 April 2025; 17 months ago (1 April 2025)
Written inJavaScript
Quick facts Developer, Release ...
Backbone.js
DeveloperJeremy Ashkenas
ReleaseOctober 13, 2010; 15 years ago (2010-10-13)
Stable release
1.6.1[1] Edit this on Wikidata / 1 April 2025; 17 months ago (1 April 2025)
Written inJavaScript
Operating systemCross-platform
Size7.9 KB production
72 KB development
TypeJavaScript library
LicenseMIT
Websitebackbonejs.org Edit this on Wikidata
Repository
Close

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

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

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

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

The following web applications are built with Backbone.js:[16]

References

Further reading

Related Articles

Timelines

Top Qs

Fact Checks