Backbone actually works really well with Rails. It is great for building json api's and routing, controllers, models, db migrations, validations etc.. are all just as relevant - it's only the views that change with Backbone.
dhh is arguing that you shouldn't build your entire application client-side, and I agree with him. I prefer to keep client-side complexity for those parts of the app that will really benefit from it. And backbone works well here, able to be used in some parts of your application but not all.
Did you watch the video?
This turns out to be not such a "huge disadvantage" as you think, the speed difference really is negligible. After all, we've been developing applications with full page refreshes for a long time now. PJax is the simplest way to get an big speed boost without changing a lot. Sending HTML is not a disadvantage.
As I see it there's far more disadvantages to doing this 100% on the client, a few benefits of doing this on the server are:
- It's far less complex, that's #1 for me
- You're sending a lot less js at the start
- You're waiting for less things to initialize on the client
- You can use all of the server-side tools you're used to
- Pjax and Caching makes this just as responsive, for the most part.
- It's faster to develop
- Easier to test
- Fewer bugs
- Easier to make accessible
- SEO friendly