During the past weekend, it feels like I’ve tried almost every resource to learn Backbone.js. I learn brand new topics best by listening to someone explain it, so I started out by going to a Meetup on Thursday night where there was a Backbone.js expert who was supposed to teach us Backbone.js. Let’s just say it’s great that that guy is not a teacher…
The problem is that Backbone.js does not have it’s own web server, so it has to be used in a combination with other web server frameworks. At the Meetup, the Backbone.js expert was teaching us using Brunch.io. So not only did I have to learn Backbone.js, but also how to work with Brunch.io, CoffeeScript, and a weird template language. Without much explanation on any of these, I walked away pretty disheartened and ready to try out other learning resources.
Here are some reviews of the resources I’ve tried:
Still, this is a really great video for an initial introduction to Backbone.
Rails + Backbone.js Railscast
While Sinatra is a nice light-weight web framework using Ruby, most of the time I’m building with Rails. That is why I was super excited to find the Rails + Backbone.js Railscast. I watched both parts, and they were amazing – again, well worth the money!
Anatomy of Backbone.js At CodeSchool
I’ve been going through the Anatomy of Backbone.js CodeSchool course exercises throughout the weekend. One thing that I found from this and my previous CodeSchool experiences, is that you really need to know the context for their courses. Once I understood the structure of Backbone.js from Peepcode, doing CodeSchool exercises was great for reinforcement and practice of the material.
Otherwise, you will be doing the exercises, but as soon as you finish the course, you will have no idea where to start on your own. Mostly, because they don’t even mention that you need a web server to run Backbone.js. They just jump right into the coding part of it.
The other negative part of the CodeSchool courses is that you can’t skip around levels. Some exercises are buggy or hard to understand, but you have to finish all of them before going on to the next level. I got stuck on an exercise because of a small technicality – I had to put my code into two documents, but didn’t notice the second tab – and that was it, there was nothing I could do to move on except tweet about the issue to them and wait a day for them to reply before moving on.
However, if you can understand the context first and get past some frustration, the exercises are great practice.
Building Your Own App
Of course it’s all fun to do Backbone.js exercises, but the ultimate way to learn to start using it in your own real-life applications! I played around Backbone.js (using Rails) yesterday, as I tried to build a Hacker News / Reddit for Backbone.js resources. Here is what I have so far. I’m probably not going to continue building that specific app, but I really enjoyed using Backbone.js enough to keep using it in my future projects 🙂
So to summarize, if you’re learning Backbone.js, make sure to seek out resources that not only give you an overview of Backbone.js, but also use it with the web framework you already use and are comfortable with.
What resources do you recommend for learning Backbone.js?