Backbone 1.0
I'm pleased and gratified to announce the oft-promised 1.0 release of Backbone.js.
Backbone has come a long way since its initial release as a small extraction of the JavaScript Model/View layer of an open-source web application (funnily enough, exactly 888 days ago).
These days, you can find it helping to power web applications large and small, from major news organizations to comment widgets, a whole diversity of use cases including payment management, online jukeboxes, digital books, online courses, RSS readers, vacation rentals, news sites, web television, and music magazines. And those are just a small sampling from the heavyweight end of the scale.
If you haven't been following along with recent releases, some of the more interesting developments over the past year have been...
- The introduction of collection.set(), a method for "smartly" updating the contents of a collection with a new list of models.
- The addition of the mirrored listenTo function in the Events mixin — which makes it easier to automatically unbind events when views are removed.
- Support for HTTP PATCH requests, sending only the changed state of your model to the server, instead of the full representation.
- New useful data-inspecting and filtering methods like where, pick, and omit.
- Many refactors, streamlinings, and optimizations to the core events and changes internal machinery.
- Beefed out literate documentation of the source code.
What's the on roadmap for Backbone.js beyond 1.0?
The essential premise at the heart of Backbone has always been to try and discover the minimal set of data-structuring (Models and Collections) and user interface (Views and URLs) primitives that are useful when building web applications with JavaScript. We're going to keep hunting for that specific type of feature, and if you think that you've found one, please send it on in. In an ecosystem where overarching, decides-everything-for-you frameworks are commonplace, and many libraries require your site to be restructured to suit their look, feel, and default behavior — Backbone should continue to be a tool that gives you the freedom to design the full experience of your web application.
Suffice to say, over the past 2 and a half years, what's been built with Backbone has surpassed our wildest expectations. I'm looking forward to being surprised by more great apps.
Special thanks to Brad Dunbar, Casey Foster, Tim Griesser, Adam Krebs, and Sam Breed for their tireless work and contributions to the project.