While playing with the SPA project template (post forthcoming) I finally took some time to play around with Require.js. While its fairly easy to get started, it blew my mind how it almost instantly changed my mindset and habits with regard to organization of my code. At its most basic level, it allows you to break all of your code down into nice bite-sized chunks in individual files – but its so much more. Fundamentally, it allows you to specify which “modules” (i.e. files) each module depends on. So if you have a chunk of code, and it needs to refer to another chunk of code elsewhere, simply include the elsewhere chunk file name in your define parameters. Here is a great quick tutorial video on getting started.
While looking through NuGet for Backbone.js I found something called Knockback.js (clever name) which combines the best of both worlds with Backbone and Knockout! Definitely check it out!
A colleague and I were hysterical laughing at the animated gifs on this page, more specifically for how well they capture the mindset of developers!