Backbone.js is a
JavaScript
JavaScript (), often abbreviated as JS, is a programming language that is one of the core technologies of the World Wide Web, alongside HTML and CSS. As of 2022, 98% of Website, websites use JavaScript on the Client (computing), client side ...
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 divide the related program logic into three interconnected elements. This is done to separate internal representations of infor ...
design paradigm, intended to connect to an API over a
REST
Rest or REST may refer to:
Relief from activity
* Sleep
** Bed rest
* Kneeling
* Lying (position)
* Sitting
* Squatting position
Structural support
* Structural support
** Rest (cue sports)
** Armrest
** Headrest
** Footrest
Arts and ente ...
ful
JSON
JSON (JavaScript Object Notation, pronounced ; also ) is an open standard file format and data interchange format that uses human-readable text to store and transmit data objects consisting of attribute–value pairs and arrays (or other s ...
interface. Backbone is known for being lightweight, as its only hard dependency is on one
JavaScript library A JavaScript library is a library of pre-written JavaScript code that allows for easier development of JavaScript-based applications, especially for AJAX and other web-centric technologies.
Libraries
With the expanded demands for JavaScript, an e ...
,
Underscore.js
Underscore.js is a JavaScript library which provides utility functions for common programming tasks. It is comparable to features provided by Prototype.js and the Ruby language, but opts for a functional programming design instead of extending o ...
, plus
jQuery
jQuery is a JavaScript library designed to simplify HTML DOM tree traversal and manipulation, as well as event handling, CSS animation, and Ajax. It is free, open-source software using the permissive MIT License. As of Aug 2022, jQuery is ...
for use of the full 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
Jeremy Ashkenas is a computer programmer known for the creation and co-creation of the CoffeeScript and LiveScript programming languages respectively, the Backbone.js JavaScript framework and the Underscore.js JavaScript library. While wor ...
, 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. Specific additional features include list comprehen ...
and
Underscore.js
Underscore.js is a JavaScript library which provides utility functions for common programming tasks. It is comparable to features provided by Prototype.js and the Ruby language, but opts for a functional programming design instead of extending o ...
.
When handling the
DOM Backbone.js adopts an
imperative programming
In computer science, imperative programming is a programming paradigm of software that uses statements that change a program's state. In much the same way that the imperative mood in natural languages expresses commands, an imperative program co ...
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 a ...
style (common in
AngularJS
AngularJS is a discontinued free and open-source JavaScript-based web framework for developing single-page applications. It was maintained mainly by Google and a community of individuals and corporations. It aimed to simplify both the developm ...
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
500px (pronounced "five hundred pixels") is a global online photo-sharing platform that is a subsidiary of Visual China Group. It is based in Toronto, Canada. It was co-founded by Oleg Gutsol and Evgeny Tchebotarev on October 31, 2009.
History
...
Web
* Airbnb
Airbnb, Inc. ( ), based in San Francisco, California, operates an online marketplace focused on short-term homestays and experiences. The company acts as a broker and charges a commission from each booking. The company was founded in 2008 by ...
* Diaspora
A diaspora ( ) is a population that is scattered across regions which are separate from its geographic place of origin. Historically, the word was used first in reference to the dispersion of Greeks in the Hellenic world, and later Jews afte ...
[
* ]Digg
Digg, stylized in lowercase as digg, is an American news aggregator with a curated front page, aiming to select stories specifically for the Internet audience such as science, trending political issues, and viral Internet issues. It was launche ...
* DocumentCloud
DocumentCloud is an open-source software as a service platform that allows users to upload, analyze, annotate, collaborate on and publish primary source documents. Since its launch in 2009, it has been used primarily by journalists to find informa ...
[
* ]Drupal
Drupal () is a free and open-source web content management system (CMS) written in PHP and distributed under the GNU General Public License. Drupal provides an open-source back-end framework for at least 14% of the top 10,000 websites worldwid ...
8
* Foursquare[
* ]Grooveshark
Grooveshark was a web-based music streaming service owned and operated by Escape Media Group in the United States. Users could upload digital audio files, which could then be streamed and organized in playlists. The Grooveshark website had a se ...
[
* ]Groupon
Groupon is an American global e-commerce marketplace connecting subscribers with local merchants by offering activities, travel, goods and services in 13 countries. Based in Chicago, Groupon was launched there in November 2008, launching soon af ...
Now
Hearsay Systems Advisor Cloud
* Hulu
Hulu () is an American subscription streaming service majority-owned by The Walt Disney Company, with Comcast's NBCUniversal holding a minority stake. It was launched on October 29, 2007 and it offers a library of films and television seri ...
[
* ]NewsBlur
NewsBlur is an American software company based in New York City and San Francisco. It runs an online RSS news reader service accessible both online and via a free open-source mobile app for offline reading. Furthermore, the software powering News ...
[Backbonification: migrating a large JavaScript project from DOM spaghetti to Backbone.js](_blank)
, Samuel Clay (NewsBlur) 13th November 2012
*Nextcloud
Nextcloud is a suite of client-server software for creating and using file hosting services. Nextcloud provides functionally similar to Dropbox, Office 365 or Google Drive when used with integrated office suite solutions Collabora Online or ...
* Openbravo
Openbravo is a Spanish cloud-based software provider specializing in retail and restaurants; formerly known as a horizontal open-source ERP software vendor for different industries. The head office of Openbravo is located in Pamplona, Spain. Ope ...
Mobile (with Enyo
Enyo (; grc, Ἐνυώ, Enȳṓ) is a goddess of war in Greek mythology. She frequently is associated with the war god Ares.
Description
She is called the "sister of War" by Quintus Smyrnaeus, in a role closely resembling that of Eris, the ...
).
* Pandora Radio
Pandora is a subscription-based music streaming service owned by Sirius XM Holdings based in Oakland, California, United States. The service carries a focus on recommendations based on the " Music Genome Project" — a means of classifying in ...
[
* ReSTbasis
* ]SoundCloud
SoundCloud is an online audio distribution platform and music sharing website that enables its users to upload, promote, and share audio. Founded in 2007 by Alexander Ljung and Eric Wahlforss, SoundCloud is one of the largest music streaming s ...
[
* ]Strideapp
Stride is a mobile app for customer relationship management
Customer relationship management (CRM) is a process in which a business or other organization administers its interactions with customers, typically using data analysis to study large ...
[
* ]Trello
Trello is a web-based, kanban-style, list-making application and is developed by Trello Enterprise, a subsidiary of Atlassian. Created in 2011 by Glitch, it was spun out to form the basis of a separate company in New York City in 2014 and sold t ...
[
* ]USA Today
''USA Today'' (stylized in all uppercase) is an American daily middle-market newspaper and news broadcasting company. Founded by Al Neuharth on September 15, 1982, the newspaper operates from Gannett's corporate headquarters in Tysons, Virg ...
.com[
* ]WordPress.com
WordPress.com is a platform for self-publishing that is popular for blogging and other works. It is owned and operated by Automattic, Inc. It is run on a modified version of WordPress software. This website provides free blog hosting for regist ...
[
*]verizon.com
Verizon Communications Inc., commonly known as Verizon, is an American multinational telecommunications conglomerate and a corporate component of the Dow Jones Industrial Average. The company is headquartered at 1095 Avenue of the Americas ...
[
* xTuple (with ]Enyo
Enyo (; grc, Ἐνυώ, Enȳṓ) is a goddess of war in Greek mythology. She frequently is associated with the war god Ares.
Description
She is called the "sister of War" by Quintus Smyrnaeus, in a role closely resembling that of Eris, the ...
).
References
Further reading
*
*
External links
*{{official website, http://backbonejs.org/
JavaScript libraries
Software using the MIT license
2010 software