During my time at Mubaloo I was a vocal supporter of Backbone.js. I liked the promise that it would ‘give structure to web applications’. It also seemed very lightweight, and as we were building mobile web applications, this seemed like an important consideration, especially given the processing power of mobile devices at the time.
Building apps with Backbone was certainly much better than the alternative, but after using it for a while, it became very apparent that you need to write a lot of boilerplate code in a Backbone-based app. This is partially understandable, because Backbone is not a framework, it is a library. It merely offers you the building blocks to get started.
As I was gearing up to go travelling, I took on some contract work, building Torpio. The codebase was already built on Backbone, and although I rewrote the app from the ground up, I decided to stick with Backbone. The result is a nice, speedy app experience, and I had a lot of fun building it. On reflection, however, much of my time was spent writing boilerplate code, time I can’t help feel could have been spent elsewhere had I used a more fully-featured framework.
Enter Angular.js. I’ve been keeping tabs on it for a little while, and have been waiting for an opportunity to give it a try. Well, as luck would have it, I’ve just been commisioned to develop a new product, and the client and I have decided to give it a try. It’s going to be interesting to use Angular and compare it to Backbone, and see whether it is worth the transition. Now, time to knuckle down, and get learning.