Dojo Development

Course:  DOJO
Duration:  3 Days
Level:  I
Course Summary

This course teaches students how to use Dojo's extensive library of utilities to build rich and responsive web applications. The topics provide an end-to-end solution for development in the browser, including everything from the core JavaScript library and turnkey widgets to build tools and a testing framework. The students will learn how to create complex layouts and form controls closely resembling those found in the most advanced desktop applications.

« Hide The Details
Topics Covered In This Course

Toolkit Overview

  • Overview of Dojo's Architecture
  • Prepping for Development
  • Terminology
  • Bootstrapping
  • Exploring Dojo with Firebug

Language and Browser Utilities

  • Looking Up DOM Nodes
  • Type Checking
  • String Utilities
  • Array Processing
  • Managing Source Code with Modules
  • JavaScript Object Utilities
  • Manipulating Object Context
  • DOM Utilities
  • Browser Utilities

Event Listeners and Pub/Sub Communication

  • Event and Keyboard Normalization
  • Event Listeners
  • Publish/Subscribe Communication
  • View Sample

AJAX and Server Communication

  • Overview of AJAX
  • AJAX Made Easy
  • Deferreds
  • Form and HTTP Utilities
  • Cross-Site Scripting with JSONP
  • Core IO
  • JSON Remote Procedure Calls
  • OpenAjax Hub

Node Manipulation

  • Query: One Size Fits All
  • NodeList
  • Creating NodeList Extensions
  • Behavior

Internationalization (i18n)

  • Introduction
  • Internationalizing a Module
  • Dates, Numbers, and Currency


  • Dragging fundamentals
  • Dropping considerations

Animation and Special Effects

  • Animation Overview
  • Core fx
  • Animation + Drag-and-Drop = Fun!
  • Colors

Data Abstraction

  • Shifting the Data Paradigm
  • Data API Overview
  • The APIs
  • Core Implementations of Data APIs

Simulated Classes and Inheritance

  • JavaScript Is Not Java
  • One Problem, Many Solutions
  • Simulating Classes with Dojo
  • Multiply Inheriting with Mixins

Dijit Overview

  • Motivation for Dijit
  • Accessibility (a11y)
  • Dijit for Designers
  • The Parser
  • Hands-on Dijit with NumberSpinner
  • Overview of Stock Dijits
  • Dijit API Drive-By

Dijit Anatomy and Lifecycle

  • Dijit Anatomy
  • Dijit Lifecycle Methods
  • Your First Dijit: HelloWeb
  • Parent-Child Relationships with _Container and _Contained
  • Rapidly Prototyping Widgets in Markup

Form Widgets

  • Drive-By Form Review
  • Form Dijits
  • TextBox Variations
  • FilteringSelect
  • MultiSelect
  • Textarea Variations
  • Button Variations
  • Slider

Layout Widgets

  • Layout Dijit Commonalities
  • ContentPane
  • BorderContainer
  • StackContainer
  • TabContainer
  • AccordionContainer
  • Rendering and Visibility Considerations

Application Widgets

  • Tooltip
  • Dialog Widgets
  • ProgressBar
  • ColorPalette
  • Toolbar
  • Menu
  • TitlePane
  • InlineEditBox
  • Tree

Build Tools, Testing, and Production Considerations

  • Building
  • Dojo Objective Harness (DOH)
  • Browser-Based Test Harness
  • Performance Considerations
What You Can Expect

At the end of the course, students will be able to:

  • Explain when and where to use Dojo.
  • Create Web pages with Dojo components.
  • Use Dojo's standard JavaScript library (including fundamental utilities in Base)
  • Create animations, such as drag-and-drop, back-button handling, and wipe and slide.
  • Use out-of-the-box Dijits (Dojo widgets) as well as create their own, either from scratch or by building on existing ones.
  • Use Dojo build tools and unit-testing framework.
  • Understand Dojo's API design and feature set.
  • Manipulate and traverse the Document Object Model using Dojo's DOM APIs.
  • Create and control class hierarchy using Dojo's OO toolkit.
  • Manage events using dojo/on and Dojo's publish/subscribe capabilities.
  • Understand how to debug Dojo applications.
  • Use the Dojo Objective Harness to test Dojo-based applications.
Who Should Take This Course

This course is designed for Web Developers.

Recommended Prerequisites

All students should have JavaScript experience.

If they do not have a thorough knowledge of JavaScript, please let us know and we will precede this course with a one-day JavaScript course.

Training Style

Lecture (50%) / Workshop (50%)

« Hide The Details
Related Courses
Code Course Title Duration Level
jQuery Fundamentals
3 Days
jQuery Mobile
3 Days
jQuery Development
3 Days
Comprehensive jQuery Training
3 Days
JavaScript Programming Essentials
4 Days
Web Application Development Using HTML5
4 Days

Every student attending a Verhoef Training class will receive a certificate good for $100 toward their next public class taken within a year.

You can also buy "Verhoef Vouchers" to get a discounted rate for a single student in any of our public or web-based classes. Contact your account manager or our sales office for details.

Schedule For This Course
Live on the Web
Live on the Web
Notify me the next time this course is confirmed!
Can't find the course you want?
Call us at 800.533.3893, or
email us at