Prosthetics And Orthotics: Building Backbone Plugins

A long time ago, in a galaxy far, far away… 

It was almost a year ago that I announced a book on building Backbone.js plugins. Since then… nothing. Well I finally got tired of sitting on it and over the weekend I made a bunch of edits, cleaned up a lot and released the first 6 chapters of the book via Leanpub!

Learn the how and why of building plugins for Backbone.js. This book provides first hand lessons learned, best practices, and patterns for building flexible add-ons and frameworks components, based on my experience – both success and failure – from the last few years of working with Backbone and building plugins for it!

On Buidling Backbone Plugins

I’ve built more than a handful of Backbone related tools, plugins and add-ons in my time working with it. From nearly the beginning of my exploration and use of Backbone, in fact, I’ve been looking for and developing better methods of handling common tasks and solving the same problems. This has led me to create plugins and frameworks such as MarionetteJS (Backbone.Marionette), Backbone.PickyBackbone.ModelBinding and many more – some published on my Github account, many unpublished and created for a specific client application.

In all of the plugins and add-ons that I’ve built, there have been lessons learned. The continued success of frameworks like MarionetteJS provide many useful insights in to how to properly create view layers and additional object types that support the creation of large Backbone application. Equally as valuable, though, failures such as Backbone.Modelbinding provide insight in to the patterns and practices that should be avoided when creating add-ons. Or, at least, they illustrate some of the scenarios and circumstances in which these patterns and practices fall apart.

A Work In Progress

This book is a work in progress, with 6 chapters roughly completed at this time, 3 or 4 additional chapters in rough draft, and one or two chapters planned beyond that. Expect this book to change over time, with edits and additional chapters being added. Early adopters will be able to purchase the book at a discounted price. The amount of demand I am seeing from early adopers will largely determine the schedule that I keep for additional releases, and the eventual price that is charged for the finished product. 


Be sure to follow the book on twitter for updates, as well: @BackbonePlugins

About Derick Bailey

Derick Bailey is an entrepreneur, problem solver (and creator? :P ), software developer, screecaster, writer, blogger, speaker and technology leader in central Texas (north of Austin). He runs - the amazingly awesome podcast audio hosting service that everyone should be using, and where he throws down the JavaScript gauntlets to get you up to speed. He has been a professional software developer since the late 90's, and has been writing code since the late 80's. Find me on twitter: @derickbailey, @mutedsolutions, @backbonejsclass Find me on the web: SignalLeaf, WatchMeCode, Kendo UI blog, MarionetteJS, My Github profile, On Google+.
This entry was posted in Backbone, Books, Marionette, Principles and Patterns. Bookmark the permalink. Follow any comments here with the RSS feed for this post.
  • Chris Tavares

    It’s an interesting start, I look forward to reading more of it.

    Could you consider adding a chapter on testing your plugins? Would be nice to know about any particular tricks or tips you’ve picked up along the way. Or design techniques that make apps that use them testable.

    • I had a testing chapter in there originally, but took it out. I thought it would take too much time and effort to show how to set up a test environment. Maybe I can put the test environment setup as an appendix, though, and keep the chapters focused. Thanks, Chris! :)

      • I’d love to see a chapter on testing as well. I’m currently writing a (mini) book on Backbone.js testing, and I never get up to higher-order Backbone.js approaches and techniques like plugins — would be great to see how testing informs plugin design, and what the end suites look like. (I’ve skimmed over the GitHub tests suites for Marionette and some of your plugins, so I know you’ve got a lot going on there).

  • Hi Derick,
    if you had to build a “single page application” right now. Objectively, which framework would you choose?

    (or why is everyone keeps pointing me to angular?)

    • if I had to choose right now: Backbone + Marionette. because that’s what I know best (since I wrote Marionette, of course).

      but that’s only my “right now” opinion. i honestly believe they are all great and all have their own strengths, weaknesses, target project types, and target developer opinion sets. the best bet is not to just pick one because blow-hard like me said to, but to actually sit down and play with a few of them so you can see what you do / don’t like.

      if time is too much of a constraint, though, just pick one (possibly by listening to someone like me, anyways) and get going. you just need to make sure you are willing to learn to like the opinions of the one you pick and stick with it, in this case.

  • Awesome book! The good and the bad of Backbone.js is that it’s not opinionated. But sometimes you just want to create a fixed workflow for you and your team. Hope this will help.

    What remaining chapters do you have in stock?