nTier’s Backbone.js course teaches participants how to use Backbone to build model-view-controller applications that run in a client browser. We teach experienced HTML and JavaScript developers about the benefits of the MVC pattern in interactive applications as well as how to design and structure web applications using the Backbone.js framework in the client environment.

Prerequisites:

Attendees must have a solid working knowledge of HTML, CSS and JavaScript, or the scope of this course may be expanded to provide that. Familiarity with using JavaScript for server side communication with AJAX (Asynchronous JavaScript and XML) is a plus.

Hardware and Software Requirements:
  • An integrated development environment or text editor with support for highlighting/correcting JavaScript syntax
  • The current versions of Google Chrome, Firefox with Firebug, or Internet Explorer (9 or later) are the preferred web browsers
  • Internet access for all attendees and the instructor
Course Objectives:
  • Explore the advantages of offloading application code to the client
  • Understand and utilize the model-view-controller pattern
  • Leverage advanced concepts and syntax in JavaScript
  • Integrate advanced collection handling the model code
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 a Collection
    • 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