Course Duration: 3 days
Hardware and Software Requirements:
  • An IDE/editor of Your Choice with Strong JavaScript Support
  • Google Chrome or Firefox with Firebug
    • http://getfirebug.com
  • Internet Access for All Attendees and Our Instructor
Course Objectives:
  • Build a responsive client-side web application with Backbone.js
  • Set up an application from start to finish
  • Display information with views
  • Update server-side data with forms
  • Change views with a router
  • Extract common code components
  • Improve application performance
Course Outline:
  • Introduction

 

  • Concepts: Model-View-Controller
    • What is Model-View-Controller?
    • How Does Backbone.js Fit into this Model?
    • What About the Back-End?

 

  • Basic Backbone
    • A Very Simple Model
    • Retrieving Our Simple Model
    • Saving Our Simple Model

 

  • Event Handling
    • Capturing Events
    • Abandoning Events
    • Triggering Events

 

  • The Model In-Depth
    • Building a Model with extend()
    • Getters and Setters
    • Constructors and Defaults
    • Managing Changes
    • Validation

 

  • Collections: Multiple Models
    • Overview of the Collections API
    • Creating Your Own Collection
    • Adding and Removing Elements
    • Comparing and Sorting Elements
    • Filtering Collections
    • Data Manipulation as A Batch Operation

 

  • Manipulating Collections with Underscore.js
    • Iteration Functions (forEach, map, filter)
    • Accessors: Last, First
    • Searching: Contains/Include, etc.
    • Aggregation Functions: Max, Min, etc.

 

  • Display Information with Views
    • Display a Model
    • Display Aggregated (Reduced) Data
    • Display Aggregated (Reduced) Data

 

  • Backbone.sync: How to Talk to A Server
    • The RESTful Model of CRUD Interaction
    • Standard Syncing Over REST
    • Alternatives for Non-RESTful Applications

 

  • Update Server-Side Data with Forms
    • Display Forms
    • Perform Client-Side Form Validation
    • Submit A Form to Update an Object

 

  • Change Views with a Router
    • Start on A Main Route
    • Create Links to Display Different Views
    • Animate Changes
    • Tracking History

 

  • Advanced Topics and Techniques
    • Create an Automatically Updating View
    • Extracting Common Code to Libraries

 

  • Improve Performance
    • Preparations
    • Update Data with A Changes Feed
    • Make Requests Over a Websocket
    • Organize with Pagination

 

  • Conclusion