What is Backbone JS?

BackboneJS is a lightweight JavaScript library. It facilitates the development and structuring of client side applications that run in a web browser. BackboneJS is a lightweight library of JavaScript. It enables developing and structuring client side apps which run in a web browser. BackboneJS provides an MVC framework that would abstract data towards models, DOM to views and bind these two using events as well. It was developed by Jereym Asheknas and released initially on October 2010. It is hosted on GitHub, and source code that’s annotated is available, and also and online suite too, a list of tutorials, example app and a long list of real-world projects that use it. It is available under the MIT software license.


BackboneJS provides structure to web app via giving models with key-value bindings as well as custom events, collections that have rich API of countless functions, views that have declarative event handling and connects all to the existing API over a RESTful JSON interface.


Consider creating an app with tones of lines code using JavaScript or jQuery. It requires adding or replacing DOM elements to the app make some requests or show animation in the app or add more line to the code and the app could become complicated. For better design and hundreds of code, BackboneJS is a good choice, which offers good functionality, well structure and organized manner for application development. Backbone communicates through events, so one would not end up the app in a mess. The code would be nicer, cleaner and more maintainable.


  1. Backbone JS allows developing apps and front-end much better and easier using JavaScript functions.
  2. It provides different building blocks, like views, models, events, routers and collections to assemble client side web apps.
  3. It is a simple library for differentiating business and UI logic.
  4. It updates automatically the HTML of an app when model changes.
  5. The free and open source library has more than 100 extensions available.
  6. It manages data model that includes user data and display the data at the server side with the same format that’s written at client side.
  7. Acts as a backbone for a project and helps in organizing code.
  8. It enables creating client side web apps or mobile apps in an organized and well-structured format.
  9. Has soft dependency with jQuery and a hard dependency with Underscore.js.



The BackboneJS models could be tied to a back-end easily. Out-of-the-box, it provides great support to RESTful APIs in a way that models could map to a RESTful endpoint. If the API is correctly designed, backbone is configured already to directly access these for read, write and delete operations, through GET, POST and DELETE. If using a backend other than a RESTful API, it is still flexible enough to accommodate that.


It’s easy to build small and slick web apps with frameworks such as jQuery. However, when a project grows, jQuery callbacks and declarations become more and more complex and distributed all over the place. Furthermore, the code gets more cluttered and difficult to read. BackboneJS alleviates this via offering an event-driven communication between models and views. One could attach event listeners to any model attributed, which provides a much nuanced controller over what is changed in the view. The events of BackboneJS build on top of regular DOM events, making the mechanism very extensible and versatile. With one code line, for instance one could introduce a publish/subscribe pattern which ties all the views together.


Conventions are great for introducing a common coding style with no need for an extensive set of coding standards. BackboneJS is particularly helpful in maintaining a clean code based regardless of having multiple people coordinating on a code.


Creating single-page web applications or complicated user interfaces would be very difficult by just using jQuery. The issue is that standard JavaScript libraries are good at what they do, without realizing it, one could build a whole app with no formal structure. Creating something with no structure is a bad idea. BackboneJS enforces communication to the server must be done completely via RESTful API. Currently, the web is trending such that all content and data would be exposed via an API. This is due to the fact that the browser no longer is the only client, there are now mobile and tablet devices, electronic fridges, Google Goggles and more. Backbone is an amazingly small library for the amount of structure and functionality that it provides. Essentially, it is MVC for the client and enables making the code modular. With its light nature, one could incrementally include it on any present of future projects.

BackboneJS is an MVC framework that encourages one to abstract data into models. It provides structure to web applications.

Next article

Bootstrap is a popular HTML, CSS framework for the development of responsive, mobile-first web projects. Bootstrap is the most renowned CSS, HTML and JS framework...


  • Leave a message...