Skip to content

Contact sales

By filling out this form and clicking submit, you acknowledge our privacy policy.

Introduction to Dojo

Course Summary

The Introduction to Dojo course teaches is designed to demonstrate how to utilize Dojo to build cross-platform applications.

The course begins with a study of Dojo basics. Next, it covers querying, events, widgets, classes, and more. The course concludes with a discussion and hands-on exercises around how to use Dojo with both AJAX and JavaScript, and introduce Dojo's grid (dgrid) function.

Learn how to use Dojo to build cross-platform applications.
Front-end and back-end web developers looking to learn Dojo.
Web Developer
Skill Level
Hack-a-thon - Learning Spikes - Workshops
4 Days
Related Technologies


Productivity Objectives
  • Describe Dojo's API design and feature set
  • Master the use of Dojo's core features
  • Manipulate and traverse the Document Object Model (DOM) using Dojo's DOM APIs
  • Create and control your own class hierarchy using Dojo's OO toolkit
  • Manage events via Dojo/on and Dojo's publish/subscribe capabilities

What You'll Learn:

In the Introduction to Dojo training course, you'll learn:
  • Introduction to Dojo
    • What Dojo is and isn't
    • First, basic Dojo script
    • How to do things the Dojo way
      • Asynchronous Modules and AMD
      • Require the code you need
      • Load Dojo
    • Baseless Dojo
    • data-dojo-config: Configure how Dojo is loaded
  • Basic Dojo: DOM, Querying and Events
    • dojo/dom: Asking for an element by name
    • DOMNodes and Nodes
    • Hook up events with dojo/on
    • Create DOM elements
    • Access DOM properties and attributes
    • Manipulate CSS (dojo/dom-style and dojo/dom-class)
  • Querying the DOM
    • A different way of retrieving elements
    • Utilize CSS Selectors (up to CSS3)
    • Process NodeLists
    • Additional NodeList features
      • The DOM interface
      • Events with NodeLists
      • Traversal
      • Effects
  • Dojo and Events
    • Remove event handlers
    • Specific event types
      • Unload the window
      • Mouse Events
      • Keyboard events
      • Touch events
    • Event delegation
    • Utilize dojo's publish/subscribe model
  • Dojo and Ajax
    • Ajax architecture
    • Dojo and Ajax: dojo/request
    • Typical Ajax tasks
      • Change the content of a node
      • Form processes
    • Process data with Ajax
      • JSON data
      • XML data
    • Other dojo/request capabilities
  • Working with JavaScript
    • Array manipulation
    • Language tools
    • String manipulation
    • Date manipulation
    • Aspect-oriented functions: dojo/aspect
  • Dojo and Classes
    • dojo/declare(): Create classes
    • Define methods and properties
    • Inheritance and Mixins
    • Constructors
  • The AMD Pattern and Dojo
    • Create standalone modules with define()
    • Return objects, functions and classes
    • Configure libraries
    • Use require() to control what is loaded and when it is loaded
  • Dijit Widgets
    • Declarative vs programmatic UI
    • Form widgets
    • Layout widgets
    • Other widgets
  • Styling Widgets
    • At instantiation using customizable properties
    • On-the-fly with mutator methods
  • Creating Your Own Widgets
    • Work from scratch with _WidgetBase
    • Custom events with dojo/Evented
    • Manage state with dojo/Stateful
    • Build from a template with _TemplatedMixin
    • Widgets within widgets: _WidgetsInTemplateMixin
  • Subclassing a Widget
    • Use object-oriented techniques
    • Subclass declaratively
    • Inherit templates
  • Storing Data
    • The new school: dojo/store
    • A basic Object Store
    • Plug in to a JSON REST store
    • Build stores from scratch
    • Interact with real-time stores
  • Dojo's Grid: dgrid
    • Acquire dgrid
    • dgrid philosophy
    • A basic dgrid
    • Enhance with mixins and extensions
    • Connect a dgrid to a store
    • A dynamically updating dgrid
“I appreciated the instructor's technique of writing live code examples rather than using fixed slide decks to present the material.”


Dive in and learn more

When transforming your workforce, it's important to have expert advice and tailored solutions. We can help. Tell us your unique needs and we'll explore ways to address them.

Let's chat

By filling out this form and clicking submit, you acknowledge our privacy policy.