Get to know Backbone.js, before it becomes just another "pain in the #!$"

Drupal 8 will ship with Backbone.js, so a lot of Drupal developers will be exposed to it. Backbone offers a framework to structure and organize javascript code. It simplifies maintainability but at the same time adds a layer of complexity by adding new abstractions and rules about organising JavaScript code. Backbone.js is easy to work with as long as we have an understanding of these rules and concepts. To prevent it being "a pain in the #!$", let's get to know Backbone!

Topics addressed

Backbone.js fundamentals with models, collections, views and their interaction (change event - rendering), to really understand what's going and how it helps you manage JavaScript application complexity. We're taking a step by step approach explaining what the different parts are and how they work together. We demonstrate the different parts with lots of code, building towards a mini application showing of Backbone's fundamental "chain of events" (change event - rendering).


Developers (front/backend) so they can leverage Backbone in projects.


  • A firm understanding what the different components of Backbone are
  • Know how to use one or several Backbone components in projects
  • Knowing what is needed to build a Backbone application
  • Know how to modify existing Backbone code
  • Have some ideas how to use it in Drupal

Not Drupal specific

The presentation focusses on Backbone as a framework and does not talk much about the ways to use it in Drupal. The reason for that are the following:

  1. We first need an understanding what Backbone is and how we use it before diving in Drupal implementation strategies.
  2. We need the time to properly address Backbone,
  3. Backbone can be implemented in different ways, some best practices may arise in the Drupal ecosystem. As they don't exist yet, it may be too early to address them.
Schedule info
Date and time: 
Sunday, 15 September, 2013 - 10:00 to 11:00
Session Track: 
Code & Development
Frontend & Design
Experience level: