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
There are currently no public sessions scheduled for this course. We can schedule a private class for your organization just a couple of weeks from now. Or we can let you know the next time we do schedule a public session.
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 [email protected]