BackboneJS - Overview

BackboneJS is a lightweight JavaScript library that allows to develop and structure the client side applications that run in a web browser. It offers MVC framework which abstracts data into models, DOM into views and bind these two using events.

History − BackboneJS was developed by Jeremy Ashkenas and was initially released on October 13th, 2010.

When to use Backbone

  • Consider you are creating an application with numerous lines of code using JavaScript or jQuery. In this application, if you −

    • add or replace DOM elements to the application or

    • make some requests or

    • show animation in the application or

    • add more number of lines to your code,

    then your application might become complicated.

  • If you want a better design with less code, then it is better to use the BackboneJS library that provides good functionality, is well organized and in a structured manner for developing your application.

  • BackboneJS communicates via events; this ensures that you do not mess up the application. Your code will be cleaner, nicer and easy to maintain.


The following are a list of features of BackboneJS −

  • BackboneJS allows developing of applications and the frontend in a much easier way by using JavaScript functions.

  • BackboneJS provides various building blocks such as models, views, events, routers and collections for assembling the client side web applications.

  • When a model changes, it automatically updates the HTML of your application.

  • BackboneJS is a simple library that helps in separating business and user interface logic.

  • It is free and open source library and contains over 100 available extensions.

  • It acts like a backbone for your project and helps to organize your code.

  • It manages the data model which includes the user data and displays that data at the server side with the same format written at the client side.

  • BackboneJS has a soft dependency with jQuery and a hard dependency with Underscore.js.

  • It allows to create client side web applications or mobile applications in a wellstructured and an organized format.