I am developing a web app that hosts everything on a CDN and then connects to a node.js server through Socket.io for anything dynamic.
The site has the following dynamic fields:
Additionally, I would like to use "pushState" (which can be done with or without Backbone.js) to improve the feel of the site as the user traverses from the homepage, to the blog, to the FAQ, etc.
My question
Is Backbone.js good for such a small amount of data or should I just hide the data in the DOM and use jQuery + Socket.io only?
In other words, is Backbone.js overkill for the site or good to use because it would force me into best practices?
Backbone is going to help you no doubt by giving you the Router, Views and Templates. You can't go wrong. Might as well make use of the models/collections as well though your status update requirement sounds readonly and very simple.
Beware if you are looking for a framework that will force you into best practices. Backbone is so lightweight and flexible that figuring out best practice is exhausting.
IMHO Backbone won't make your website over-complicated and it's fine to use it for this kind of work. But recently I've discovered that replacing jQuery with Zepto ( or even create a website with no DOM Library ) is one of the best speed-boosts I've ever seen.
It's perfect approach for smaller, not-so-complicated projects, where you can write your own javascript well and with the recent browser support of useful helpers ( 5 HTML5 APIs You Didn’t Know Existed ) it's not so hard.