Backbone.js in the Frontend

Click to watch "Backbone.js in the Frontend"

This session introduces the most popular JavaScript MVC framework, Backbone.js, from a practical point of view.

Backbone.js is a minimalist library that relies on Underscore.js and jQuery. Basically it adds a structural layer to your JavaScript code.

The benefits of using Backbone are huge when writing complex web apps interfaces. It provides you a way of organizing your code making a clean separation of concerns (MVC), it makes code easier more modular and easier to test, it makes the User Interface more snappy and many other benefits that will be explained during the session. This radically changes the game, logic is in the frontend and the backend takes care of providing JSON-encapsulated data through a REST API.

It will be a practical session, showing demos and explaining how Backbone & friends are changing the way of making web apps. Also Ethan will present how the Backbone module for Drupal can help you to speed up your web app development, so you don't have to re-invent the wheel.

Browsers, web standards, Drupal 8 and user expectations are evolving to support this new paradigm. Disqus, LinkedIn, Basecamp, Trello and many others are already using it. Are you ready?

David Corbacho, FrontEnd Senior Developer at #AberdeenCloud
Ethan Winn, Technical Director at EchoDitto

Coding and Development
Experience level: 
Time slot: 
Tuesday 17:00-18:00
(Sheraton Hotel) Cuvillies


how is this frontend ??

The frontier of FrontEnd and Backend are blurry in these crazy days. The same way than DevOps were borned, maybe we should coin a new term =)

I classified the session in Frontend track because Backbone.js is a frontend framework and provides a foundation to build a interface for the user.

If FrontEnd is understood a "Design" , then I understand your question.

I will put it in Code & Development, probably it has more sense there.

I'm not sure about the etiquete for this sort of thing, but it looks like we've both proposed similar sessions:

Perhaps we can join forces? I released the Drupal Backbone module earlier this year and we had a great BoF presentation at DrupalCon Denver (slides here)...I'm very excited to present the module and more developments at DrupalCon, and would be happy to collaborate.

After talking with Corbacho about our two panel submissions, I think there is most definitely room for a full-stack overview of how to use Backbone to build web apps in your Drupal site, as well as a frontend-focused Web App development session like this one.

When building an app with Backbone (or any client-side JS framework), you in essence have both a front-end and a back-end within the browser. It's one thing to build your data model elegantly, architect and implement a good API, and write the custom module glue to drive it all. It's another to use the event handling functionality of Backbone to make a site the does amazing things in response to user interaction, or to integrate a Backbone "skeleton" with jQuery UI, mapping libraries, or any of the other tools needed for a really great app. We'll be able to gloss over those components in a developer track session, but I heartily recommend front end developers check out this session to learn the ins and outs and best practices of great UX design with Backbone and Drupal.

I'm already a fan and using backbone and underscore for many projects... Will you be presenting any best case practices in enabling the REST API or constructing the backend response? I've been using views as my 'query engine' and simply formatting the result into a custom JSON result via a custom module.
Any quick tips? I'm trying to work out if this session would give me something new to bite on.

Hi Dan
It's great to hear you already using Backbone. As you have guessed, this session is quite introductory, because most of audience we expect they haven't work with Backbone previously.

The session will divided in 2 parts:
I will talk first about Backbone.js conceptually, about JavaScript, Why we need it, benefits, Backbone Vs Others, etc and Ethan will cover then Backbone.js with plenty "hands on code" examples and talk about his Backbone Module. So I'm sure you can get something new from this session, but not so specific details as you ask in your comment.

And don't forget to join us in the Wednesday Backbone.js BOF. You could share with us your experience using Backbone with Drupal
See you around!