Оглавление
 Вступительное слово
 Предисловие
 
 Часть I. Base и Core
 
 Глава 1. Обзор комплекта инструментальных средств
 Обзор архитектуры Dojo
 Подготовка к работе
 Терминология
 Самонастройка
 Исследование Dojo с помощью Firebug
 В заключение
 
 Глава 2. Утилиты броузера
 Поиск узлов DOM
 Определение типа
 Утилиты для работы со строками
 Обработка массивов
 Управление исходным программным кодом с помощью модулей
 Утилиты для работы с объектами JavaScript 
 Манипулирование контекстом объекта
 Утилиты для работы с деревом DOM
 Утилиты для работы с броузером
 В заключение
 
 Глава 3. Обработчики событий и организация взаимодействий по подписке
 Нормализация событий и клавиатуры
 Обработчики событий
 Организация взаимодействий по подписке
 В заключение
 
 Глава 4. Технология AJAX и взаимодействие с сервером
 Краткий обзор AJAX
 Работать с AJAX просто
 Объекты Deferred
 Утилиты для работы с формами и HTTP
 Межсайтовый скриптинг с использованием JSONP
 Модуль IO библиотеки Core
 Вызов удаленных процедур
 OpenAjax Hub
 В заключение
 
 Глава 5. Манипулирование узлами
 Поиск: универсальная реализация
 NodeList
 Создание расширений для NodeList
 Модуль Behavior
 В заключение
 
 Глава 6. Интернационализация (i18n)
 Введение
 Интернационализация модуля
 Даты, числа и денежные суммы
 В заключение
 
 Глава 7. Перетаскивание элементов
 Перетаскивание
 Сброс
 В заключение
 
 Глава 8. Анимация и специальные эффекты
 Анимация
 Core fx
 Анимация + "перетащил и бросил" = забавно! 
 Цвета
 В заключение
 
 Глава 9. Абстракция данных
 Изменение схемы работы с данными
 Обзор прикладного интерфейса доступа к данным
 Интерфейсы
 Основные реализации интерфейсов доступа к данным
 В заключение
 
 Глава 10. Имитация классов и наследование
 JavaScript - это не Java
 Одна проблема, множество решений
 Имитация классов с использованием средств Dojo
 Множественное наследование посредством смешивания классов
 В заключение
 
 
 Часть II. Dijit и Util
 
 Глава 11. Обзор Dijit
 Причины появления Dijit
 Доступность
 Библиотека Dijit для дизайнеров
 Парсер
 Практика Dijit на примере NumberSpinner
 Обзор базовых диджитов
 Функции прикладного интерфейса библиотеки Dijit
 В заключение
 
 Глава 12. Анатомия Dijit и жизненный цикл
 Анатомия библиотеки Dijit
 Методы управления жизненным циклом диджита
 Ваш первый диджит: HelloWorld
 Организация отношений родитель-потомок с помощью классов _Container и _Contained
 Быстрое создание прототипов виджетов в разметке
 В заключение
 
 Глава 13. Виджеты форм
 Обзор элементов управления форм
 Диджиты форм
 Разновидности TextBox
 FilteringSelect
 MultiSelect
 Разновидности Textarea
 Разновидности Button
 Slider
 Form
 В заключение
 
 Глава 14. Виджеты компоновки
 Общие особенности диджитов компоновки
 ContentPane
 BorderContainer
 StackContainer
 TabContainer
 AccordionContainer
 Проблема видимости и отображения
 В заключение
 
 Глава 15. Виджеты приложения
 Tooltip
 Виджеты диалогов
 ProgressBar
 ColorPalette
 Toolbar
 Menu
 TitlePane
 InlineEditBox
 Tree
 Editor
 В заключение
 
 Глава 16. Инструменты сборки, тестирования и вопросы подготовки к вы-пуску в эксплуатацию
 Сборка
 Платформа тестирования Dojo (DOH)
 Тестирование в броузере
 Вопросы производительности
 В заключение
 
 Приложение A
 Учебник по работе с отладчиком Firebug
 
 Приложение B
 Краткий обзор DojoX
 
 Алфавитный указатель