Why Learn Backbone.js

What is Backbone.js?
Backbone.js is a JavaScript client-side (front-end) framework that helps to organize your code and makes it easier for you to develop single-page web applications. Simply put, it makes the task of developing JavaScript applications considerably easier for you.
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.

Why Learn Backbone.js

You should learn Backbone.js if:

  • You do not already use a front-end JavaScript framework and you intend to develop single-page web applications or complex JavaScript web applications.
  • You want to start programming JavaScript in a more organized, structured manner, eschewing the old way of having all of your JavaScript code mixed with HTML and without separation of concerns (where the logic, the data—model—and the presentation are sufficiently decoupled).


When working on a web application that involves a lot of JavaScript, one of the first things you learn is to stop tying your data to the DOM. It's all too easy to create JavaScript applications that end up as tangled piles of jQuery selectors and callbacks, all trying frantically to keep data in sync between the HTML UI, your JavaScript logic, and the database on your server. For rich client-side applications, a more structured approach is often helpful.

With Backbone, you represent your data as Models, which can be created, validated, destroyed, and saved to the server. Whenever a UI action causes an attribute of a model to change, the model triggers a "change" event; all the Views that display the model's state can be notified of the change, so that they are able to respond accordingly, re-rendering themselves with the new information. In a finished Backbone app, you don't have to write the glue code that looks into the DOM to find an element with a specific id, and update the HTML manually — when the model changes, the views simply update themselves. 

backbone.js.  The Backbone.js concepts includes:

  • JavaScript Conventions
  • What and Why MVC
  • Models & Collections
  • Views & Templates
  • Router
  • Events
  • Data Storage with StackMob
  • HTML5 App Hosting options
  • AMD with require.js

Collections of Tips, Techniques, etc.
Official Documentation

The Backbone.js and Underscore.js docs are extremely well written and organized. I like to keep them open in a tab when developing.

Collections of Tips, Techniques, etc.
Screencasts and Online Courses
Screencasts and online courses are my favorite way to learn new techniques.

Next Post »