To get started with the Dojo Toolkit, first decide whether you need Dojo 1 or modern Dojo. This guide covers Dojo 1, the legacy JavaScript toolkit: load its AMD loader, request the modules your page needs, and add Dijit when you need UI widgets. The Dojo 1 project says it remains maintained, while new development is focused primarily on modern Dojo.
What is Dojo 1, and which version does this guide cover?
Dojo 1 is a JavaScript toolkit organized around modules and packages. It is distinct from modern Dojo, which represents a newer generation of the project. The Dojo 1 core repository describes Dojo 1 as maintained and says new development primarily focuses on modern Dojo. The versioned tutorials and examples below describe Dojo 1 APIs; do not assume their code applies unchanged to modern Dojo.
For a starting point, the official Dojo tutorials index organizes introductory material and links to topics including themes, buttons, textboxes, and widget creation.
How do I set up Dojo 1 on a web page?
The basic setup is to include Dojo’s loader, dojo.js, in the page and then request the modules the application uses. The official Hello Dojo tutorial demonstrates this pattern with Dojo 1.10.4 from a CDN and asynchronous configuration. That is a historical, version-specific example—not a blanket recommendation to use that exact version or URL for a new deployment.
#1 Best Overall
Dojo 1 adopted Asynchronous Module Definition (AMD) starting with release 1.7. In this pattern, require loads dependencies and passes them to a callback; define declares a module so other code can load it. A module is commonly represented by a JavaScript source file.
Load a module with require
Request the modules a page needs, then use the modules supplied to the callback. The key idea is to load a dependency before calling its API rather than assume it is already available as a global. See the versioned dojo.require reference for the documented loading pattern.
Rank #2
Declare a module with define
When writing reusable application code, declare its dependencies and implementation as a module. This makes the module’s inputs explicit and lets the loader resolve them. The exact syntax and conventions depend on the Dojo 1 codebase and version in use.
What does Dojo Core provide?
Dojo Core is the foundation package. Its modules cover general-purpose application tasks, including Ajax, DOM manipulation, events, promises, data stores, drag and drop, internationalization, and class-oriented programming. The Dojo 1 repository lists these capabilities.
Applications can request the Core modules they need instead of treating the toolkit as one indivisible API. In module names, the dojo/* namespace refers to Core modules. This modular approach helps distinguish a general-purpose utility from a UI component supplied by another package.
What is the difference between Dojo Core and Dijit?
Dojo Core provides general-purpose modules; Dijit is the UI package built on Core. Dijit includes a framework for creating additional widgets as well as ready-made rich interface widgets, such as form, layout, and data-aware components. The Dijit repository describes its role and widget library.
Rank #4
In module names, dijit/* refers to the sibling widget package, not Dojo Core. A button, textbox, or other Dijit widget therefore requires its Dijit module. Widgets and themes may also require stylesheet setup; consult the tutorial for the specific Dojo 1 version and component rather than assuming that loading JavaScript alone provides the intended appearance.
Quick Recap
Best Value
How should you choose what to learn next?
- If you are maintaining a Dojo 1 application, identify its exact Dojo version first and use matching documentation before changing module-loading or widget code.
- If you are learning the architecture, begin with AMD loading and the distinction between
dojo/*anddijit/*. - If you are starting a new project, account for the project’s stated focus on modern Dojo; Dojo 1 examples are not a substitute for modern Dojo documentation.
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.
Quick wins for a faster PC:
Repair Windows errors before they cause bigger problemsFix Now →Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Clear out junk files and repair common Windows errorsFree Scan →

