Backbone.js 1.0 Released
Backbone.js provides three core building blocks to the user:
- Models are used to represent persistable objects. Using Backbone.js' synchronization functionality, models can automatically synchronize with a remote data source (by default a RESTful web service). Similarly, it provides facilities to easily manage and synchronize collections of models with a data source.
- Views are used to construct and maintain the web application's UI. They can be configured to listen to change events of the models that they represent, making it easy to keep the UI up-to-date with the model and vice versa.
- The router supports navigation within a Backbone.js application. Although typical Backbone.js applications are single-page interfaces, it is still desirable to have bookmarkable URLs and to be able to use the browser's back button to navigate. Backone.js' router supports this functionality using HTML5's new history API, falling back to a URL hash when not supported.
Backbone.js 1.0 brings a few changes compared to the 0.9 series. Changes include a more intelligent way of bulk updating collections, automatic decoding of encoded URL segments and new listenTo and stopListening methods for event emitters. By default, model validation is now postponed until the model is saved, whereas in previous releases validation occurred immediately when setting properties. None of these changes are groundbreaking and therefore upgrading from 0.9 is expected to be fairly painless.
While it has been a long time coming, 1.0 is not the end of the road for Backbone.js. The announcement ends with an explicit call for new ideas: