The annotated source code of Backbone.js is available on GitHub. Also available are a sample application, an online test suite, a number of tutorials and a large list of real-world projects that use the Backbone technology.
The core of Backbone.js includes four major classes:
Collection: Collections in Backbone.js are basically an array of models. Collections are usually a query result in which the results include a number of models.
View: A view in Backbone.js listens to the events thrown by the Document Object Model and collections/models. In addition, it represents the state and data model of the application to the user.
Controller: Controllers in Backbone can be used to create stateful, bookmarkable applications with the help of hashbangs.
When the state or content of a model is modified, other objects subscribed to the model are notified to proceed accordingly. The views listen to the model changes and then automatically update themselves in accordance with the changes.