Backbone.js is a
JavaScript
JavaScript (), often abbreviated as JS, is a programming language and core technology of the World Wide Web, alongside HTML and CSS. Ninety-nine percent of websites use JavaScript on the client side for webpage behavior.
Web browsers have ...
rich-client web app framework based on the
model–view–controller
Model–view–controller (MVC) is a software architectural pattern commonly used for developing user interfaces that divides the related program logic into three interconnected elements. These elements are:
* the model, the internal representat ...
design paradigm, intended to connect to an API over a
RESTful
JSON
JSON (JavaScript Object Notation, pronounced or ) is an open standard file format and electronic data interchange, data interchange format that uses Human-readable medium and data, human-readable text to store and transmit data objects consi ...
interface. Backbone has only hard dependency, which is on one
JavaScript library,
Underscore.js,.
jQuery can also be optionally used for the library. It is designed for developing
single-page web applications, and for keeping various parts of web applications (e.g. multiple clients and the server) synchronized. Backbone was created by
Jeremy Ashkenas, who is also known for
CoffeeScript
CoffeeScript is a programming language that compiles to JavaScript. It adds syntactic sugar inspired by Ruby, Python, and Haskell in an effort to enhance JavaScript's brevity and readability. Some added features include list comprehension an ...
and
Underscore.js.
When handling the
DOM Backbone.js adopts an
imperative programming
In computer science, imperative programming is a programming paradigm of software that uses Statement (computer science), statements that change a program's state (computer science), state. In much the same way that the imperative mood in natural ...
style, in contrast with a
declarative programming
In computer science, declarative programming is a programming paradigm—a style of building the structure and elements of computer programs—that expresses the logic of a computation without describing its control flow.
Many languages that ap ...
style (common in
AngularJS using data-attributes).
Trying to provide "the minimal set of data-structuring (models and collections) and user interface (views and URLs)",
[ 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.
]
Use
The following web applications are built with Backbone.js:
* 500px Web
* Airbnb
* Diaspora
A diaspora ( ) is a population that is scattered across regions which are separate from its geographic place of birth, place of origin. The word is used in reference to people who identify with a specific geographic location, but currently resi ...
[
* ]Digg
Digg (stylized in lowercase as digg) is an American news aggregator with a curated front page, aiming to select articles specifically for the Internet audience such as science, trending political issues, and viral phenomenon, viral Internet iss ...
* DocumentCloud[
* Drupal 8
* Foursquare][
* Grooveshark][
* Groupon Now][
*Hearsay Systems Advisor Cloud
* ]Hulu
Hulu (, ) is an American Subscription business model, subscription streaming media service owned by Disney Streaming, a subsidiary of the Disney Entertainment segment of the Walt Disney Company. It was launched on October 29, 2007, initially as ...
[
* NewsBlur][Backbonification: migrating a large JavaScript project from DOM spaghetti to Backbone.js](_blank)
, Samuel Clay (NewsBlur) 13th November 2012
* Nextcloud
* Openbravo Mobile (with Enyo).
* Pandora Radio[
* ReSTbasis
* ]SoundCloud
SoundCloud is a German audio streaming service owned and operated by SoundCloud Global Limited & Co. KG. The service enables its users to upload, promote, and share audio. Founded in 2007 by Alexander Ljung and Eric Wahlforss, SoundCloud is ...
[
* Trello][
* ]USA Today
''USA Today'' (often stylized in all caps) is an American daily middle-market newspaper and news broadcasting company. Founded by Al Neuharth in 1980 and launched on September 14, 1982, the newspaper operates from Gannett's corporate headq ...
.com[
* WordPress.com][
* verizon.com][
* xTuple (with Enyo).]
References
Further reading
*
*
External links
*{{official website, http://backbonejs.org/
JavaScript libraries
Software using the MIT license
2010 software