Here are my favorite things about Backbone.js:
Backbone.js weighs in at 16.3 KB (minified), it’s dependency Underscore.js at 12.2 KB.
It makes your apps faster
Rendering views in Rails is slow. By using Rails as an API, you can spread the rendering workload on your user’s browsers, rather than putting it all on your servers. The result? - blazing fast applications that are easy to cache. Diasporate rewrote their newsfeed with Backbone and loved it.
One of the most frequent requests from my clients is higher speed. Nobody wants to wait for a page to reload to see their changes anymore.
It doesn’t force anything on you
There are many ways in which you can use Backbone.js. You can write a completely client-side application that communicates to the back-end via a JSON API. Or you can enhance your existing pages with dynamically loaded resources, such as sidebars.
It pushes you towards a cleaner separation between data and presentation.
Your controllers become responsible for just one thing: delivering data. That makes them incredibly easy to test. Code that’s easy to test is easy to change and maintain.