Switch branches/tags
Nothing to show
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
197 lines (141 sloc) 12.8 KB


dojo is the foundation package of the Dojo Toolkit. Sometimes referred to as the "core", it contains the most generally applicable packages and modules. The dojo package covers a wide range of functionality like AJAX, DOM manipulation, class-type programming, events, promises, data stores, drag-and-drop and internationalization libraries.


This is the bootstrap module for the toolkit. It contains both the AMD and legacy loader that allows you to load other modules and it defines require() and define(), the AMD functions. For backwards compatibility reasons, the module defaults to a synchronous mode and automatically loads several modules the provide an API similar to releases prior to 1.7. When the dojoConfig option of async is set to true the module then will operate asynchronously and loads the minimal amount of modules.

See :ref:`dojo/dojo <dojo/dojo>` for more information on the module, as well as there is in depth information about the Dojo :ref:`loader <loader/index>` available.


This package and associated modules break out the functionality that formally was contained in the base dojo/dojo module. Many of the modules in this package define the "legacy" APIs for modules and packages that now sit in the root of the dojo package.

Areas of Functionality

The following table provides an overview of the sub-packages and modules in the dojo package.

Functionality Packages/Modules Description
Dojo Kernel :ref:`dojo/_base/kernel <dojo/_base/kernel>` The bootstrap kernel that generates the dojo namespace
Dojo Configuration :ref:`dojo/_base/config <dojo/_base/config>` Configures Dojo and loads the default platform configuration
Module Loading

:ref:`dojo/_base/loader <dojo/_base/loader>`

:ref:`dojo/require <dojo/require>` [1]

The legacy and AMD module loader for Dojo
Loader Plugins

:ref:`dojo/domReady <dojo/domReady>`

:ref:`dojo/i18n <dojo/i18n>`

:ref:`dojo/has <dojo/has>`

:ref:`dojo/node <dojo/node>`

:ref:`dojo/text <dojo/text>`

AMD Loader Plugins
Feature Detection

:ref:`dojo/has <dojo/has>`

:ref:`dojo/sniff <dojo/sniff>`

:ref:`dojo/uacss <dojo/uacss>`

:ref:`dojo/_base/sniff <dojo/_base/sniff>` [1]

Modules that provide cross-platform feature detection and management
Language :ref:`dojo/_base/lang <dojo/_base/lang>` The foundation language extensions for Dojo
Classes :ref:`dojo/_base/declare <dojo/_base/declare>` Dojo's class system
Deferreds and Promises

:ref:`dojo/promise <dojo/promise>`

:ref:`dojo/Deferred <dojo/Deferred>`

:ref:`dojo/when <dojo/when>`

:ref:`dojo/_base/Deferred <dojo/_base/Deferred>` [1]

:ref:`dojo/DeferredList <dojo/DeferredList>` [1]

Asynchronous process management modules
Events, Connections

:ref:`dojo/on <dojo/on>`

:ref:`dojo/_base/connect <dojo/_base/connect>`

:ref:`dojo/_base/event <dojo/_base/event>`

:ref:`dojo/Evented <dojo/Evented>`

:ref:`dojo/behavior <dojo/behavior>` [1]

Modules for handling events and modifying behaviors
Aspect Oriented Programming :ref:`dojo/aspect <dojo/aspect>` Providing aspect based advice to modify join points (methods)

:ref:`dojo/request <dojo/request>`

:ref:`dojo/_base/xhr <dojo/_base/xhr>` [1]

:ref:`dojo/io/iframe <dojo/io/iframe>` [1]

:ref:`dojo/io/script <dojo/io/script>` [1]

Handling of requests, the core of "AJAX" programming
Properties :ref:`dojo/Stateful <dojo/Stateful>` Management of object and class properties
Topics/Publish/Subscribe :ref:`dojo/topic <dojo/topic>` Dojo's Topic system
Data and Stores

:ref:`dojo/store <dojo/store>`

:ref:`dojo/data <dojo/data>` [1]

Packages that provide client side data handling
Router :ref:`dojo/router <dojo/router>` Allows mapping of hash based structures to callbacks
Parser :ref:`dojo/parser <dojo/parser>` Allows "decorated" HTML to be converted into instantiated objects

:ref:`dojo/dom <dojo/dom>`

:ref:`dojo/dom-attr <dojo/dom-attr>`

:ref:`dojo/dom-class <dojo/dom-class>`

:ref:`dojo/dom-construct <dojo/dom-construct>`

:ref:`dojo/dom-form <dojo/dom-form>`

:ref:`dojo/dom-geometry <dojo/dom-geometry>`

:ref:`dojo/dom-prop <dojo/dom-prop>`

:ref:`dojo/dom-style <dojo/dom-style>`

:ref:`dojo/html <dojo/html>`

:ref:`dojo/_base/html <dojo/_base/html>` [1]

Modules for manipulating and managing the DOM and HTML
Query, NodeList and Selectors

:ref:`dojo/query <dojo/query>`

:ref:`dojo/NodeList <dojo/NodeList>`

:ref:`dojo/NodeList-data <dojo/NodeList-data>`

:ref:`dojo/NodeList-dom <dojo/NodeList-dom>`

:ref:`dojo/NodeList-fx <dojo/NodeList-fx>`

:ref:`dojo/NodeList-html <dojo/NodeList-html>`

:ref:`dojo/NodeList-traverse <dojo/NodeList-traverse>`

:ref:`dojo/selector <dojo/selector>`

:ref:`dojo/_base/query <dojo/_base/query>` [1]

:ref:`dojo/_base/NodeList <dojo/_base/NodeList>` [1]

DOM querying and objective enhancements to DOM nodes
DOM Effects

:ref:`dojo/_base/fx <dojo/_base/fx>`

:ref:`dojo/fx <dojo/fx>`

DOM animation effects
Browser Window

:ref:`dojo/window <dojo/window>`

:ref:`dojo/_base/window <dojo/_base/window>` [1]

Cross-browser compatible references to the window
Document Lifecycle

:ref:`dojo/ready <dojo/ready>`

:ref:`dojo/domReady <dojo/domReady>`

:ref:`dojo/_base/unload <dojo/_base/unload>`

Document lifecycle modules
Browser History

:ref:`dojo/back <dojo/back>`

:ref:`dojo/hash <dojo/hash>`

Module for managing the browsers history
Cookies :ref:`dojo/cookie <dojo/cookie>` Cookie management module
Mouse, Touch and Keys

:ref:`dojo/mouse <dojo/mouse>`

:ref:`dojo/touch <dojo/touch>`

:ref:`dojo/keys <dojo/keys>`

User input normalisation and management
Drag and Drop :ref:`dojo/dnd <dojo/dnd>` Drag and Drop package

:ref:`dojo/robot <dojo/robot>`

:ref:`dojo/robotx <dojo/robotx>`

Modules for simulating user input
Arrays :ref:`dojo/_base/array <dojo/_base/array>` Array routine enhancements
Strings :ref:`dojo/string <dojo/string>` String routine enhancements

:ref:`dojo/json <dojo/json>`

:ref:`dojo/_base/json <dojo/_base/json>` [1]

JSON handling modules

:ref:`dojo/_base/Color <dojo/_base/Color>`

:ref:`dojo/colors <dojo/colors>`

Color classes/functions
Dates :ref:`dojo/date <dojo/date>` Date routine enhancements
URL and Query Strings

:ref:`dojo/_base/url <dojo/_base/url>`

:ref:`dojo/io-query <dojo/io-query>`

URL and URL query string management

:ref:`dojo/i18n <dojo/i18n>`

:ref:`dojo/cldr <dojo/cldr>`

:ref:`dojo/number <dojo/number>`

:ref:`dojo/currency <dojo/currency>`

Modules for handling internationalization of applications
Accessibility :ref:`dojo/hccss <dojo/hccss>` Accessibility CSS enhancements
Remote Procedure Calls :ref:`dojo/rpc <dojo/rpc>` Ability to invoke remote procedure calls
Miscellaneous :ref:`dojo/gears <dojo/gears>` [2]  
[1](1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14) This package/module is deprecated
[2]While the package/module is supported the technology it relies upon is deprecated