Hands-On Dojo Toolkit Development Training

Customized Onsite Training

  • Customized Content
  • For Groups of 5+
  • Online or On-location
  • Expert Instructors

This Hands-On Dojo Toolkit Development training class provides a firm understanding of the Dojo JavaScript Library. It assumes strong prior knowledge of modern JavaScript principles.The course provides hands-on exposure to working with numerous widgets within the Dojo library.It explores the creation of custom widgets, the lifecycle of widgets, and best practice coding techniques for creating widgets under the Dojo 1.9 library.The course also examines the current dynamic loading mechanism, AMD, as well as the core features of the library.The course looks at how to utilize the powerful dojo/request features to implement Ajax or JSONP forms of asynchronous calls. It provides an opportunity to create with the numerous UI widgets and utilizes data stores to configure data for widgets such as the DataGrid and the newer modular addon, the DGrid.. It features a look at how to use many of the remaining APIs within Dojo including the inheritance mechanisms, drag-and-drop, animation and effects, and data type manipulation features such as strings, arrays, and dojo/router, using Observables, and much more.

Note: This course is based on version 1.9.

Primary audience: Front-end developers, server-side engineers seeking to improve their Dojo skills; Secondary audience: designers, middle-tier developers, and others interested in learning the Dojo framework

  1. Successfully implement the Dojo JavaScript framework within front-end solutions.
  2. Utilize various Dojo core APIs and asynchronous techniques (XHR, script tags, CORS).
  3. Extend and customize Dijit widgets, use and modify themes
  4. Dynamically load modules.
  5. Create responsive solutions using Dojo to target multiple devices.
  6. Explore the Dojox widgets, additional features.
  1. Up and Running with Dojo
    1. Dojo Overview: Base, Core, Dijit, Dojox
    2. Working with Dojo
    3. Dojo with NodeJS
    4. The Dojo Namespaces
    5. Setting up Dojo
    6. Dynamic Module Loading: AMD
    7. Modularizing Code
    8. Understanding Themes
    9. dojo.require()
    10. Introducing Dojo Widgets
    11. The Dojo Event Model
    12. AJAX the Dojo Way
    13. Using Firebug and Chrome/IE Developer Tools with Dojo
    14. Debugging Dojo Apps
  2. More with Core Dojo Features: Events and DOM
    1. Using Dojo to improve DOM Handling
    2. Using dojo/query()
    3. Dojo/place()
    4. Dojo/style()
    5. Managing Resources on Page Loads/Unloads
    6. The Dojo Event Object
    7. Events across browsers
    8. Browser Detection
  3. Introducing Dijit with Forms and Containers
    1. Declarative Widgets
    2. Programmatic Widgets
    3. Working with Forms
    4. Form Widgets
    5. Textbox and Validation Widgets
    6. Buttons and FilteringSelects
    7. Form validation
    8. Number/Date/Currency Formatting
    9. Using Date and Currency Widgets
    10. Managing Resources with dojo.own()
  4. Dojo and Ajax
    1. Introducing Dojo and Ajax
    2. Using dojo/request
    3. Controlling response data
    4. JSON Formatted Data
    5. Handling Errors
    6. Passing Parameters
    7. Cross Domain Solutions using Dojo
    8. JSONP and CORS
    9. What are promises?
    10. Incorporating Deferreds
    11. Working with Dojo's Template Engines
    12. DTL (Django Template Language)
    13. Templates with _TemplatedMixins
    14. Using dojo/text!
    15. Creating Containers
    16. Using BorderContainers
    17. Working with TabContainers
  5. More Dijit: Dojo Widgets
    1. The Application Controller
    2. Using Dialogs
    3. More with Layout Widgets
    4. Viewports
    5. ContentPanes, AccordionContainers
    6. Menus, MenuBars
    7. Tooltips
    8. Examining App Changes with dojo/router
  6. Customizing Widgets
    1. Programmatic vs. Declarative Widgets
    2. Creating Custom Widgets
    3. Using _WidgetBase
    4. The Widget LifeCycle
    5. Using Extension Points
    6. Using AttachEvent and AttachPoints
    7. Widgets and Namespaces
    8. Custom Widgets through Markup (Templated Widgets)
    9. Programmatic Widget Creation
  7. Advanced Widgets and Widget Communication
    1. Working with Trees and Grids
    2. Sorting and Filtering Grids
    3. Using DataStores
    4. Understanding Observables
    5. Examining the DGrid
    6. Topics and Pub/Sub
  8. Dojo and Architecture
    1. Dojo and Accessibility
    2. Dojo i18n Support
    3. Using Locales
    4. HTML5 Support
    5. A Look at dojox Mobile
    6. Dojo 2.0
Class Materials

Each student in our Live Online and our Onsite classes receives a comprehensive set of materials, including course notes and all the class examples.

Class Prerequisites

Experience in the following is required for this JavaScript class:

  • Strong OO skills.
  • HTML.
  • JavaScript language fundamentals (such as DOM and event handling concepts).

Experience in the following would be useful for this JavaScript class:

  • CSS fundamentals highly recommended.
  • XML principles recommended.
Preparing for Class

No cancelation for low enrollment

Certified Microsoft Partner

Registered Education Provider (R.E.P.)

GSA schedule pricing


Students who have taken Live Online Training


Organizations who trust Webucator for their training needs


Satisfaction guarantee and retake option


Students rated our Hands-On Dojo Toolkit Development Training trainers 9.17 out of 10 based on 8 reviews

The course materials were clear and easy to understand. The instructor was very knowledgeable, and helped me through the sections that were difficult. I would recommend Webucator to anyone looking to improve their skills through distance learning.

Wayne Zitkus, Rockwell Collins
Richardson TX

Great job!

Bradley Earl, Spectre
Alexandria VA

My web design class was just what I was looking for and my instructor not only did a great job in relaying the information I needed, she also was able to answer questions I had that were above & beyond the course material!

Bill Dannelly, HoneyBaked Foods, Inc.
Holland OH

The training, instructors, and system are all incredibly easy to understand and dynamic. I have not seen any other website program that is as robust while remaining so simple and straight forward to use and implement.

Nichole Moser, Business Furnishings
Regina SK

Contact Us or call 1-877-932-8228