25 January 2010 P2.0 (Printing)

  • Second Printing

23 June 2008 P1.0 (Printing)

First printing

09 June 2008 B5.0

Final beta, all content complete and at the printers.

13 May 2008 B4.0

  • All content complete

24 March 2008 B3.0

  • Chapter 9 Defining Classes with dojo.declare

JavaScript doesn’t explicitly include the concept of classes, yet Dojo includes machinery that can be used to build object systems that work similar to those found in languages that include native support for object-oriented programming (Java, Ruby, C++, and the rest). dojo.declare, the subject of this entire chapter, defines class definition machinery, complete with single-inheritance, mixins, two-phase construction, and several other features.

  • Chapter 14 Grid

A grid is a “super-table” widget. Users can sort, select, edit, add, and remove rows from the body without a page refresh. Grid draws its data from the same dojo.data datastores that feed Trees and Select boxes. Extension points make hooking in your own behavior a snap.

  • Chapter 16 Dijit Themes, Design, and Layout

Dijit components are skinnable with the theme system. The bundled themes, Soria, Tundra and Nihilo, all provide balanced color and design schemes. But occasionally you may need to tweak the look-and-feel of a particular widget or class of widget. This chapter tells you how, and gives hints on creating your own theme. It also covers layout widgets, which you use to paste elements next to each other. Finally, accessibility (a11y) is discussed.

  • Chapter 17 Creating and Extending Widget Classes

Dijit isn’t just a set of widgets. It’s a seedbed for creating your own widgets too, packaging JavaScript and Dojo calls into a reusable package. This chapter shows how to extend and modify the built-in widgets, and build your own from scratch. The template system, the attribute mapping procedures, and all the details you need are here.

04 March 2008 B2.0

This beta release includes two new chapters.

First, Chapter 8, “Remote Scripting”, covers Dojo’s support for XHR, dynamic Scripts, and dynamic iframes. It describes the framework that Dojo builds on top of these native remote scripting techniques that facilitates building advanced asynchronous systems that are robust yet easy to express. The chapter also describes Dojo’s JSONP and JSON-RPC implementations.

Next, Chapter 10, “dojo.data”, describes Dojo’s design and implementation of a session data framework. This framework functions as middleware between front-end data consumers like widgets and back-end data providers like web services. dojo.data allows you to build an interface for each consumer and each provider and then connect any consumer to any provider.

Finally, we’ve corrected, massaged, reworked, and fiddled with just about every item that’s been posted on the errata page. Keep the feedback coming! We sincerely appreciate your efforts.


Rawld Gill, Craig Riecke, and Alex Russell

31 January 2008 B1.0