Tutorial Series

Engineering Rich, Single Page Apps

About the Series

If you're looking to develop amazingly powerful client side applications, this is the perfect place to start learning. Each episode takes you through what it's like moving logic to the client, and building workflows in Backbone JS. Episodes build up to completing a real application. You'll walk away with a firm understanding of the core tenants and concepts for building scalable single page applications.


This is by far the most complete resource on building Backbone and Marionette applications, at this point. Derick Bailey of Marionette.js

Thanks to Brian Mann for putting out great screencasts on building an end-to-end backbone app. Nathan Esquenazi of RABL

The biggest gain for me...is learning about the way in which Brian structures his applications using the various Marionette components. Oliver J. Ash

    • #1
      Client Side Development
      February 11, 2013

      A quick introduction covering top notch applications using Backbone JS. We'll look at how stateful development is changing the web. You'll see the capabilities of client-side MVC at work, and use-cases of when to use Backbone JS. (22 mins)

    • #2
      Tenets of Backbone JS
      February 11, 2013

      We'll take a thorough look at each of Backbone's components and use those to build a simple application feature. By analyzing this workflow, we'll take a critical look at what Backbone does and does not do for you. (25 mins)

    • #3
      Marionette JS
      February 11, 2013

      We'll now build the feature from Episode 2 in Marionette JS. Along the way, we'll define the core pieces of Marionette.js. We'll remove boilerplate code, purge our zombies, and automate views with fewer lines of code. (18 mins)

    • #4
      Application Infrastructure
      February 11, 2013

      We'll look at the remaining Marionette Components, going into Application Infrastructure in detail. We'll explore helpful patterns for scaling your application such encapsulation, modules, decoupling components, and building API's. (50 mins)

    • #5
      Getting Up and Running - Part 1
      February 11, 2013

      We'll begin building our application with Rails as our backend. We'll configure our server, install plugins and gems, and build our header and footer modules. Then we'll cover tips and tricks for console debugging and file organization. (68 mins)

    • #6
      Getting Up and Running - Part 2
      March 4, 2013

      Using Rails tools, we'll generate JSON and bootstrap data. We'll manage authenticated users, create custom views and discuss strategies for fetching asynchronous data from the server. We'll also take a look at some template helpers. (78 mins)

  • Beginners
    • What client-side MVC means
    • When and why you should use Backbone JS
    • Working with nested views and layouts
    • Handling model and collection events
    • Debugging with the console, tips and tricks
    • The gems and plugins for working with JSON
    • Working with Rails Asset Pipeline
    • JS folder and file organizational strategies
    • Roles and responsibilities of your components
    • Conventions for working with designers
    • The building blocks of scalable JS architecture
    • Messaging Bus: How your application communicates
    • Developing decoupled, encapsulated modules
    • Overriding, extending, and mixing into components
    • Refactoring strategies and patterns