Please note that as of January 2013 I am no longer offering my Backbone training class on a regular basis. I have exited the consulting world in favor of a full time position working with Kendo UI as a Developer Advocate. While I will continue to be a part of the Backbone community with my new position, offering a private, on-site training class is not something I will be able to do right now. I may bring this back out at some point in the future, but I don't know when (if at all).

This course will bring a hands-on approach to learning Backbone.js – a JavaScript framework that facilitates highly interactive and well-structured JavaScript applications. Participants will learn how to create flexible, maintainable JavaScript code, using a variety of tools and techniques, with a focus on user interaction and front-end web development.

Course Outline

The course generally covers the following topics, and can be tailored to your team's specific skill set and experience with JavaScript.

Object Oriented JavaScript

  • JavaScript… its not just jQuery. No, Really.
  • I just don’t understand “this”
  • Objects and functions: wait, functions are objects?!
  • Playing nice with others: namespace and module patterns
  • Who’s this JaSON guy, and why do I care?

jQuery and jQuery Templates

  • Using jQuery to interact with the DOM
  • Manipulating HTML elements
  • Event binding and callbacks
  • Generating content with templates

Introduction To Backbone.js

  • Views and DOM events
  • Models and collections
  • Routers
  • Event-driven, stateful applications on the web

Building Backbone.js Applications

  • Good application structure
  • A simple product management app
  • Integrating server-side data
  • Displaying the list of products
  • Routing to paginate the list and view product details
  • Adding, editing and deleting products
  • Handling the edge cases: deleted and non-existing items
  • Creating better transitions between views

Testing With Jasmine

  • Introduction to Jasmine
  • Writing specs and expectations
  • Using spies and mocks
  • Test-driving a Backbone model
  • Test-driving a Backbone.js view
  • Test-driving a Backbone router

Course Prerequisites

This course is targeted at “advanced beginners” and intermediate JavaScript developers – those familiar with the basics of JavaScript syntax and can get something to work when needed, most likely with the help of jQuery or other libraries.

Contact Me

If you have any questions, would like more information or want to bring me to your company for this training class, please contact me.