Series Part 5: A beginner’s guide to comparing, and getting started with, MVC frameworks: Backbone.js

This is the fifth part of my series on MVCs, where I will be collecting and offering links for getting to know, and get started with, MVCs.

I will be focusing on what I consider to be the big four right now (each will become a link as I publish that part):

  1. Intro
  2. AngularJS
  3. Ember.js
  4. React
  5. Backbone.js (this post)
  6. Summary

Backbone.js

Unlike the other MVCs I’ve looked at, the Backbone.js project’s home site seems pretty nice! The documentation is quite extensive, including numerous code samples, graphics and links, including a link to a rather lengthy list of tutorials.

Backbone.js also introduces a new concept in MVCs (at least to me): a Collection. A Collection “helps you deal with a group of related models, handling the loading and saving of new models to the server and providing helper functions for performing aggregations or computations against a list of models” and seems pretty handy!

But if you are looking for Backbone.js tutorials, then maybe you should start with Backbone.js Tutorials… :-) Starting with a video intro, provides a collection of pages that will give you a good understanding of how to set-up and get started with Backbone.js.

And none other than offers his Developing Backbone.js Applications book online, “[a]vailable free for open-source reading below or for purchase via the O’Reilly store“! A quick scroll (and scroll and scroll and scroll) through the TOC shows that, as usual, Addy covers his topic thoroughly…

Or, if you prefer “moving pictures” for your tutorials, you can check-out the Programming with Mosh YouTube channel, which offers an extensive Backbone.js Tutorial playlist of video tutorials!

Or, if you prefer “project-based” tutorials, you can check-out the Tuts+ Getting to Know Backbone.js series, in which you will “learn how to build a fully functional contacts manager using Backbone.js, Underscore.js, and jQuery”. The author does note that you should already know “the basics of JavaScript and jQuery”…

Or, if you already have a fully-functioning project that you think you might like to convert to Backbone.js, you can check-out ‘s Step by step from jQuery to Backbone post, as he shows how to “gradually refactor a bit of code from how I used to write JavaScript before, into proper Backbone.js code using models, collections, views and events.” A nice approach, very practical!

I would also like to point you to the Code School Backbone.js tutorial, because, as usual, it is very good, but only first level of this one is free… Which is totally understandable! And seeing how good every other Code School tutorial has been, and what a great teach-and-quiz learning method I consider them to be, I had to mention this one.

Lastly, to help make the old-curmudgeons like me happy, Rendr “is a small library that allows you to run your Backbone.js apps seamlessly on both the client and the server” which will “[a]llow your web server to serve fully-formed HTML pages to any deep link of your app, while preserving the snappy feel of a traditional Backbone.js client-side MVC app.” Like!

Bottom Line

I was prepared to not be all that crazy about Backbone.js for some reason. it is definitely not one of the bigger names you see in job ads lately, nor is it one of the really hot topics on social sites. But I was thoroughly impressed with the documentation and community support.

I am not crazy about the dependency requirements, but seriously, if you are building a JS-heavy site like a SPA, are you not going to already be using jQuery? So you have to get to know Underscore.js too, but that brings with it a bunch of benefits, and another Skill for your LinkedIn Profile… :-)

I hope you enjoyed getting to know Backbone.js, up next is my wrap-up Summary of this series!

Happy learning,
Atg

Leave a Reply

Your email address will not be published. Required fields are marked *