Backbone.js

Developer(s)Jeremy Ashkenas
Initial releaseOctober 13, 2010; 14 years ago (2010-10-13)
Stable release
1.6.0[1] Edit this on Wikidata / 5 February 2024; 9 months ago (5 February 2024)
RepositoryBackbone.js Repository
Written inJavaScript
Operating systemCross-platform
Size7.9 KB production
72 KB development
TypeJavaScript library
LicenseMIT
Websitebackbonejs.org

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.

  1. ^ https://github.com/jashkenas/backbone/releases/tag/1.6.0. {{cite web}}: Missing or empty |title= (help)
  2. ^ Alex MacCaw (18 August 2011). JavaScript Web Applications. O'Reilly Media, Inc. p. 165. ISBN 978-1-4493-0351-8. Retrieved 27 April 2012.
  3. ^ Dependencies, BackboneJS, October 14, 2015
  4. ^ "What SendHub Learned Building a Single-Page Backbone.js App", ReadWrite, March 16, 2012
  5. ^ "Behind the rumours: how we built our Twitter riots interactive", The Guardian, London, 8 December 2011
  6. ^ "Backbone.js". backbonejs.org. Retrieved 2017-06-01.
  7. ^ Cite error: The named reference backbonejs.org was invoked but never defined (see the help page).