I've used backbone.js about the front end.