Backbone.js
Backbone.js is a JavaScript library designed for single-page web applications.
Contents
Description
According to the official website:
Backbone.js gives structure to web applications by providing models with key-value binding and custom events, collections with a rich API of enumerable functions, views with declarative event handling, and connects it all to your existing API over a RESTful JSON interface. (Emphasis added.)
Backbone is known for being lightweight, as its only dependency is on one JavaScript library, Underscore.js.
Ajax web applications
Backbone is commonly used to implement web applications using Ajax.
RESTful interface
Backbone.js uses representational state transfer, also known as REST.
The name "Representational State Transfer" is intended to evoke an image of how a well-designed Web application behaves:
- A network of web pages (a virtual state-machine)
- The user progresses through the application by selecting links (state transitions)
- Each state transition results in the next page (representing the next state of the application) being transferred to the user and rendered for their use
Application which use REST are said to be RESTful.
Model-view-presenter
Backbone is based on the Model–view–presenter (MVP) paradigm.
Model-view-presenter divides a computer program into three parts, each with a specific responsibility:
- The model
- The view
- The presenter
Discussion
Siddarth describes Backbone.js:
Backbone is ideally suited for creating front end heavy, data driven applications. Think the GMail interface, new Twitter or any other revelation of the past few years. It makes creating complex apps easier.
Author
Backbone was created by Jeremy Ashkenas, who is also known for CoffeeScript.
See also
- Ajax (programming)
- CoffeeScript
- JavaScript
- Jeremy Ashkenas
- JSON
- Library (computing)
- Model–view–presenter
- Representational state transfer (REST)
- Single-page application
- Web application
External Links
General resources
- Official website
- Backbone.js @ Wikipedia
- Backbone guide @ ruk.si
Interactive code online
- Backbone sample environment by BrianGenisio @ jsfiddle.com
- Backbone.js Hello World @ jsfiddle.com
- Backbone.js Hello World by Ravishankar Radhakrishnan @ codepen.io
Examples and tutorials
- TODOS.JS @ backbonejs.org
- Backbone.js for Absolute Beginners - Getting Started (Part 1: Intro) by Adrian Mejia
- Build a Contacts Manager Using Backbone.js by Dan Wellman
- Backbone.js Tutorial - Beginners - Thomas Davis @ YouTube
- Backbone.js Tutorials @ cdnjs.com
- Backbone.js Hello World by Stephanie Kim @ GitHub
- Getting started with backbone.js by Tim Sawyer
- Getting Started with Backbone.js by Siddarth @ tutsplus.com
- Developing Backbone.js Applications by Addy Osmani
- Live BackBoneJS Projects, Challenges & Examples @
- Consuming a RESTful Web Service with Backbone.js