Хотя наш обзор немного запоздал, оригинальный Dojo 1.2 вышел в релизной версии ещё 6-го октября, но сейчас мы наверстаем упущенное. И так, Dojo Toolkit — это самая мощная и гибкая ajax-библиотека из всех, что есть на рынке, она активно развивается и имеет большое комьюнити. Кстати, это самое комьюнити, совместно с компанией Sitepen, имеет ещё несколько проектов, среди которых и Cometd и некоторые другие, не менее интересные, о которых мы скоро вам расскажем. Сегодня же все внимание на флагманский продукт — Dojo 1.2.
Наверное я опущу детальное описание общей архитектуры фреймворка, это уже рассказывалось неоднократно в других наших публикациях, а в этой версии ничего глобального не поменялось, так что если вы основывали своё приложение на 1.1 ветке, думаю, переход пройдет с минимальными изменениями кода. А вот что же нового и интересного появилось — мы сейчас рассмотрим.
Dojo core.
Обновлён модуль работы с событиями клавиатуры, теперь мы
можем перехватывать нажатия любых клавиш, даже специальных и обрабатывать их в своём приложении, также исправлены некоторые баги. Модуль детектирования платформы потерпел изменения — теперь нужно проверять отдельные свойства (dojo.isIE, dojo.isFF, dojo.isSafari) для определения платформы, аналогично сделано в другом фреймворке, нашем любимом ExtJS. Кроме этих основных платформ, Dojo поддерживает работу (и автоматически определяет и использует специфический код) и в среде Rhino, Jaxer, Spaydermonkey ну и, конечно,
все браузерные платформы, среду Adobe Air и, отдельно выделена поддержка Google Gears. Отмечу, что некоторые компоненты или возможности доступны только на определённых платформах, поэтому Dojo сначала детектирует глобально, запущен он в среде браузера или другим способом.
Обновлена поддержка многоязычности и локалей, оказалось, что за модулем cldr скрывается данные от сервиса Common Locale Data Repository (http://unicode.org/cldr), который предоставляет различные
языковые данные в кодировке Unicode для множества языков. Теперь Dojo использует версию 1.6, которая для работы с составе фреймворка была сильно трансформирована в нужный внутренний формат (подробнее в Readme в директории компонента). На основе Dojo многие компании делают серьёзные проекты, рассчитанные на мировой рынок, и там локализация будет как нельзя кстати.
Значительно изменён модуль, отвечающий за конфигурацию при загрузке (djConfig.addOnLoad) и позволяющий выполнять пользовательский
код после инициализации фреймворка, теперь даже если Dojo подгружается после загрузки страницы и позволяет исполнять как указанный код, функции, так и методы объектов — по сути, любой возможный вариант теперь может быть использован.
Изменения коснулись и режима отладки, теперь перехват ошибок (try/catch) работает корректно во всех модулях и калл-бек функциях, прерывая исполнение кода для отладки при возникновении ошибки, а если режим отладки отключён, то ошибка направляется в лог.
Dijit
В этой версии, по сообщениям разработчиков, много сделано для улучшения производительности и общего вида визуальных виджетов. Добавлены новые свойства и методы для облегчения создания и управления сложными интерфейсами. В компоненте множество небольших изменений, но я не заметил ничего кардинального, разве что значительная работа по стандартизации API, например, универсальный способ работы с атрибутами виджетов.
Dojox
В этом компоненте самое большое количество изменений и интересных новинок. Много изменений в компоненте построения графиков и диаграмм dojox.Charting, добавлены тултипы-подсказки, новые типы диаграмм, поддержка анимации, событий — все для того, чтобы это стало полноценным компонентом среди виджетов, позволяя контролировать все детали и части графиков.
Приятно удивил и компонент для работы с цветом dojox.Color, который теперь может преобразовывать цвета используя
различные цветовые модели — RGB, CMYK/CMY и HSL/HSV.
dojox.gfx дает нам самые широкие возможности в плане работы с графикой, теперь имеет возможность работы с векторной графикой формата SVG и, в частности, загружать и использовать шрифты этого формата. Также значительно переписан рендер, использующий возможности плагина MS Silverlight и не требует теперь сторонних библиотек.
Значительно обновлён компонент для работы с HTML, dojox.html, который теперь делать
почти все что угодно с HTML и CSS программным образом, а его возможности используют другие компоненты, тот жеgfx.
В пакете Dojox не только различные невизуальные компоненты, но и виджеты, пока не вошедшие в стандартный пакет Dijit, но которые могут пригодится при создании сложных интерфейсов. Здесь есть и визуальный WYSIWYG-редактор с возможностью создания и редактирования таблиц и работой с загружаемыми изображениями, и компонент
таблицы (dojox.Grid), который значительно похорошел с предыдущих версий, обзавелся тесной интеграцией с компонентами для работы с данными (dojo.data) и множество улучшений. Так как это самый часто используемый компонент из сложных ajax-виджетов (не считая редакторов), то изменения будут полезны для всех, кто использует таблицы в своих приложениях. Тем более, указывается, что сохранена обратная совместимость с предыдущими версиями.
Кстати, анонсировано, что в будущем компонент
для работы с изображениями dojox.image будет работать с компонентами работы с данными, вероятно, мы сможем загружать изображения как и другие данные, через универсальный API.
Из других важных изменений я бы отметил только компонент dojox.xml.widgetParser, который разбирает XML-описание виджетов, а значит можно, по идее, формировать описание интерфейса на стороне сервера в виде XML-файла и передавать клиенту для рендеринга. Теперь поддерживается и включение тега.
Куда уходят одноклассники? Что интересного
произошло в жизни журнала с его последнего выпуска? Какой результат
показало тестирование Рапиды Googl-ом? Что такое карта кликов? Чем может
похвастаться MainLink и какая изюминка у биржи ссылок SetLinks?
Ответы на эти вопросы вы обязательно найдете в
сентябрьском выпуске журнала. Мы также расскажем, как лучше заработать
на онлайновых видео, как инвестировать в золото с помощью wmz и что нам
делать в Греции, а западный IT-гуру Эдвард Йордон поделится с вами
секретами управления WEB 2.0 проектами.
Издание в электронной версии (PDF) доступно в
личном профиле на сайте издания. Подписка на печатную версию, для тех,
кто еще не подписался, открыта.
Главное изменение — учебник покинул статус
«бета-версия» и приобрел законченный вид. Теперь он называется
«Самоучитель HTML и XHTML» и включает три раздела: HTML, валидация
документов и XHTML. Добавления включают в себя подсветку синтаксиса в
примерах, множество вопросов для проверки и заданий для самостоятельной
работы. Тем читателям, что присоединились к рассылке недавно, файл
скачивать обязательно. Остальным — почему бы и не скачать.