During the fall of 2010, the backdraft project broke out the backdraft loader, "bdLoad", into a separate project as part of an effort to modify dojo and dijit to use an asynchronous loader. This work was accomplished under a temporary project named "dojo-sie" (that is, dojo, script-inject edition). dojo-sie was never intended to be a permanent project, and it was hoped that the effort would be absorbed into dojo's trunk.
We are happy to report this has become a reality. Thanks to the efforts of Kris Zyp, Ben Hockey, ALTOVISO's Rawld Gill, and other support from the entire dojo committer community, all dojo and dijit modules now comply with the CommonJS AMD specification. We would also like to point out that the two original browser-based asynchronous loaders, ALTOVISO's bdLoad (this project) and James Burke's RequireJS have evolved from unspecified programs to stable, well-specified, and compatible production software over the last six months. In addition to the implementation work done by Rawld and James, Kris Zyp has been instrumental in conceiving and moving ideas forward into formal CommonJS specifications.
The dojo-sie project had five goals:
Convert all modules to use an asynchronous module pattern
This work has been completed. All dojo and dijit modules in dojo and dijit trunk now comply with the CommonJS AMD specification and will be released with Dojo, version 1.6. It is important to point out that the Dojo community does not officially support asynchronous module loading until version 1.7. You should consult your loader publisher (bdLoad or RequireJS) for support.
Release the backdraft loader
The backdraft loader has been split into this subproject ("bdLoad").
Decouple the dojo loader from the bootstrap
An early version of this work is now available in dojo trunk. It is not optimal; however, it does accomplish the goal of loading dojo without loading any of the old synchronous loader. ALTOVISO is working closely with the Dojo community to advance this work. From time-to-time, ALTOVISO may publish prototype efforts separate from dojo trunk to optimize the dojo bootstrap. Any such efforts will be reported on this web page.
Refactor the dojo bootstrap
This work was combined with the previous goal.
Construct a new build system
The new build system is available under the backdraft subproject bdBuild.
Dojo version 1.6 and Asynchronous Loading
This article summaries Dojo's move to CommonJS Modules/AsynchronousDefinition(AMD)-compliant format which has started as of version 1.6.