This course teaches attendees how to build powerful JavaScript AJAX applications using the Dojo Toolkit Dijit and DojoX.

Course Duration: 3 days
Prerequisites:

Before participating, all students should attend nTier’s JavaScript course or have equivalent experience. If attendees do not have sufficient knowledge of JavaScript, a one-day JavaScript primer can be included.

Course Objectives:

As a result of this training, attendees will:

  • Understand Dojo’s API design and feature set
  • Master the use of Dojo’s core features
  • Manipulate and traverse the Document Object Model using Dojo’s DOM APIs
  • Create and control a class hierarchy using Dojo’s OO toolkit
  • Manage events via dojo/on and Dojo’s publish/subscribe capabilities
  • Explore Dijit, the Dojo UI widget library
  • Learn how to debug Dojo applications
  • Use the Dojo Objective Harness to test your Dojo-based applications
Course Outline:
  • Introduction to Dojo
    • What Dojo Is and Isn’t
    • Our First Basic Dojo Script
    • How to Do Things the Dojo Way
      • Asynchronous Modules and AMD
      • Requiring the Code You Need
      • Loading Dojo
    • Baseless Dojo
    • DojoConfig: Configuring How Dojo is Loaded

 

  • Retrieving Elements
    • Dojo/Dom: Asking for an Element by Name
    • What Do I Get Back?
    • DOMNodes and Nodes
    • Creating Nodes
    • Placing Nodes
    • Removing Nodes

 

  • Dojo/Query
    • A Different Way of Retrieving Elements
    • Using CSS Selectors (Up to CSS3)
    • Processing NodeLists

 

  • Basic Styling
    • Accessing Style Information
    • Changing Style Settings

 

  • Dojo and JavaScript
    • Array Enhancements
    • Function Enhancements
    • Working with Dates
    • Working with Numbers and Strings

 

  • Dojo and Events
    • Hooking Up Events with Dojo/On
    • Removing Event Handlers
    • Distributing Events Across a Nodelist
    • Using Dojo’s Publish/Subscribe Model

 

  • Dojo and AJAX
    • AJAX Architecture
    • Dojo and AJAX: Dojo/Request
    • Typical AJAX Tasks
      • Changing the Content of a Node
      • Form Processing
    • Processing Data with AJAX
      • JSON Data
      • XML Data
    • Other Dojo/Request Capabilities

 

  • Dojo and Classes
    • Dojo/declare(): Creating Classes
    • Defining Methods and Properties
    • Inheritance and Mixins
    • Constructors

 

  • Dijit Widgets
    • Declarative vs. Programmatic UI
    • Form Widgets
    • Layout Widgets
    • Other Widgets

 

  • Styling Widgets
    • Using Customizable Properties
    • On-The-Fly

 

  • Creating Your Own Widget
    • From Scratch
    • Using A Template
    • Creating Attributes, Getters and Setters

 

  • Subclassing a Widget
    • Using OO
    • Adding Capabilities

 

  • Conclusion