About a week ago, I began working on a new article about Backbone.js. It was due to cover some concepts and insights intermediate or advanced users might appreciate, but I found myself wanting to reference topics beginners might need to know if they wanted to get the most out it. Quite a few of them.
In the end, I decided it might make more sense to just write a book on Backbone instead. Something free, targeted at developers of all levels, that I could reguarly update easily and perhaps get some input on from the community (if they were up for it). I called it Backbone Fundamentals.
If you'd like to check it out, you can find the work-in-progress book on GitHub :)
Why write a book?
Now, there's a plethora of (great) posts about Backbone out there I could have just linked to - many of which are well written and respected, but I began to think about my own journey of learning how to use the framework. As a beginner, there was quite a long gap in-between looking into the initial work Jeremy Ashkenas had released and figuring out how Backbone might fit well with other tools like RequireJS which aids modular development. Even longer to figure out how to test it with things like Jasmine.
Beginners articles about Backbone typically don't mention intermediate or advanced concepts by their very nature. Even the Backbone docs (whilst again, very well written) can really only go so far to help guide developers at all levels.
Developers are expected to get so far with what's possible and then hope they stumble upon a blog post or are attending a talk that discusses things like Backbone with AMD, extending it with other tools or how to actually go about testing Backbone apps at all.
Backbone Fundamentals hopes to change that. Whilst still a work-in-progress, my goal is to try adding something new or improving the book in some way everyday. That level of consistency can't be promised forever, but I want to do my best to centralize the knowledge and experience I (and hopefully some other Backbone users) have learned somewhere that's easy for developers of any level to just pick up.
In some ways, I hope that Backbone Fundamentals can be for Backbone what Rebecca Murphey's excellent 'jQuery Fundamentals' book did for those wishing to learn jQuery. There's a mountain of work left to be done, but if you're interested in learning more about Backbone, I encourage you to consider watching the book repo.
Interested in helping out? Please read on.
Although the book has only been up on GitHub a few days, I've already received several tweets, issues and pull requests that have helped tweak it up. Something as small as letting me know a semi-colon is missing from a code snippet to a submission as large as new section (or contributed article) is always welcome and I greatly appreciate people even taking the time to let me know their thoughts on what could be improved.
Please tell me if I'm wrong about something. I'm more interested in the quality of this work being as solid as possible and together I think we can create something genuinely useful.
There's currently a wishlist thread going about items other developers would like to see covered in the book. If you have any ideas at all, feel free to contribute them there and we'll collate them together into a todo list.
Until next time, my deepest thanks to everyone that's been sharing word of the project. It is absolutely crazy that it's hit so many watchers in such a short space of time, but your tweets have been greatly appreciated.
I'll hopefully be able to meet expectations with the book, and if not, be sure to let me know :)