Introduction to Dojo

The Introduction to Dojo training course teaches developers how to use the Dojo toolkit to build cross-platform, JavaScript/Ajax-based applications. The course covers Dojo basics, as well as querying, events, widgets, classes, and more. We explore how to use Dojo with both Ajax and JavaScript, and introduce Dojo’s grid (dgrid) function.

This course assumes prior experience in JavaScript.

Course Summary

Learn to use Dojo to build cross-platform applications.
Front-end and back-end web developers looking to learn Dojo.
Skill Level: 
Learning Style: 

Hands-on training is customized, instructor-led training with an in-depth presentation of a technology and its concepts, featuring such topics as Java, OOAD, and Open Source.

Hands On help
4 Days
Productivity Objectives: 
  • 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 your own 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

What You'll Learn

In the Introduction to Dojo training course, you’ll learn:

  • Intro 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
    • data-dojo-config: Configuring how Dojo is loaded
  • Basic Dojo: DOM, Querying and Events
    • dojo/dom: Asking for an element by name
    • What do I get back? DOMNodes and Nodes
    • Hooking up events with dojo/on
    • Creating DOM elements
    • Accessing DOM properties and attributes
    • Manipulating CSS (dojo/dom-style and dojo/dom-class)
  • Querying the DOM
    • A different way of retrieving elements
    • Using CSS Selectors (up to CSS3)
    • Processing NodeLists
    • Additional NodeList features
      • The DOM interface
      • Events with NodeLists
      • Traversal
      • Effects
  • Dojo and Events
    • Removing event handlers
    • Specific event types
      • Unloading the window
      • Mouse Events
      • Keyboard events
      • Touch events
    • Event delegation
    • 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
  • Working with JavaScript
    • Array manipulation
    • Language tools
    • String manipulation
    • Date manipulation
    • Aspect-oriented functions: dojo/aspect
  • Dojo and Classes
    • dojo/declare(): Creating classes
    • Defining methods and properties
    • Inheritance and Mixins
    • Constructors
  • The AMD Pattern and Dojo
    • Creating standalone modules with define()
    • Returning objects, functions and classes
    • Configuring libraries
    • Using 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
    • Working from scratch with _WidgetBase
    • Custom events with dojo/Evented
    • Managing state with dojo/Stateful
    • Building from a template with _TemplatedMixin
    • Widgets within widgets: _WidgetsInTemplateMixin
  • Subclassing a Widget
    • Using object-oriented techniques
    • Subclassing declaratively
    • Inheriting templates
  • Storing Data
    • The new school: dojo/store
    • A basic Object Store
    • Plugging in to a JSON REST store
    • Building stores from scratch
    • Interacting with real-time stores
  • Dojo’s Grid: dgrid
    • Acquiring dgrid
    • dgrid philosophy
    • A basic dgrid
    • Enhancing with mixins and extensions
    • Tying a dgrid to a store
    • A dynamically updating dgrid

Meet Your Instructor

Eric Photo

Eric is a professional trainer and software developer who loves learning new things, sharing what he learns, and helping clients to solve business problems. He holds a BS in Computer Science from the Virginia Military Institute, and numerous software certifications to include the Microsoft Certified Professional Developer certification.Eric has extensive experience providing customized training and software development services for companies around the world for almost 18 years. He provides those services both on-...

Meet Eric »

Get Custom Training Quote

We'll work with you to design a custom Introduction to Dojo training program that meets your specific needs. A 100% guaranteed plan that works for you, your team, and your budget.

Learn More

Chat with one of our Program Managers from our Boulder, Colorado office to discuss various training options.

DevelopIntelligence has been in the technical/software development learning and training industry for nearly 20 years. We’ve provided learning solutions to more than 48,000 engineers, across 220 organizations worldwide.

About Develop Intelligence
Di Clients
Need help finding the right learning solution?   Call us: 877-629-5631