Develop Intelligence
Introduction to Dojo
Learn to use Dojo to build cross-platform applications.

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.

After this course, you will be able to:

  • 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
This course will be delivered in 4 Days

DI will work with you and your team to define the most appropriate delivery structure, schedule and dates. Structure, schedule and dates will be determined by project schedule, team availability and classroom availability. And of course, it will also be determined by DI’s instructor availability.

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

Intermediate JavaScript
Introduction to JavaScript
JavaScript Boot Camp
Call us at (877) 629-5631