Главная > AJAX, Open Source > Dojo Toolkit 1.0 beta доступен для загрузки, исследования и разработки

Dojo Toolkit 1.0 beta доступен для загрузки, исследования и разработки

26 октября 2007

Буквально два дня назад появилась бета версия одного из мощнейших, в принципе можно заявить, что и "enterprise-ready" JavaScript фреймворка Dojo Toolkit. История его довольно долгая, это, наверное, один из первых многофункциональных фрейморков, который пережил несколько веток разработки, которые, к сожалению, оказались почти несовместимыми. Так что популярнейшим разделом на сайте, после новостей, в настоящее время стоит раздел "Porting Guide", в котором описываются различия в фреймворке при переходе, сначала от ветки 0.4.х к совершенно новой и переделанной "на корню" 0.9х, а теперь и к следующему, уже больше эволюционному 1.0 релизу, бета версия которого и предлагается. Хотя такая неразбериха с версиями и немного подорвала доверие к проекту, но если вы не обременены поддержкой большой базы кода на устаревшей версии библиотеки, вы можете не волноваться, все пертурбации уже в прошлом.

Мы сами, когда выбирали фреймворк для своего проекта, а это было чуть больше года назад, остановились именно на Dojo, тогда ещё версии 0.4.3, в том числе и за то, что его поддерживали крупнейшие компании (да и сейчас поддерживают), а также за чрезвычайную широту возможностей - ну в каком ещё проекте были одновременно модули и доступа к данным, и шифрование, и работа с 2D-графикой, и анимация, и эффекты, и достаточно много виджетов, которые позволяли строить весьма продвинутый AJAX-интерфейс. А подсистема работы с сервером использовала не только XMLHTTPRequest, но и ещё пол десятка других альтернативных методов, надёжно упрятывая это все от программиста за несколькими строками вызова API-функций. Тут смело можно сказать, что в плане графики (а сейчас есть и первые варианты реализации отрисовки 3D графики), а также коммуникационных возможностей Dojo представляет самые широкие возможности среди всех доступных на рынке фреймворков. А, и поддержка системы хранения данных на стороне клиента с использованием как Flash-компонента, так и при помощи Java-applets - такой функционал также попробуй найди (а сейчас и Google Gears поддерживается).

Текущая версия 1.0 beta состоит из четырёх независимых компонент, которые включают в себя десятки модулей, реализующих конкретные возможности (в виде классов). Модульность в Dojo реализована также интересным образом, используя встроенную функцию dojo.require и пространства имён можно в любой момент загружать необходимые модули, к тому же сами модули содержат ссылки на все свои зависимости и автоматически подгружают все необходимое.

  • Dijit - модуль, отвечающий за подсистему визуализации виджетов, реализацию шаблонов, поддержку layouts, включает в себя WYSIWYG-редактор, механизм поддержки тем оформления и другие возможности. Раньше это было частью базового набора Dojo, но потом выделили в отдельный проект, что, на моем мнение, правильно.
  • Dojo - базовый модуль, отвечающий за основные возможности библиотеки - отладку (используя Firebug и собственную Debug Console), поддержку Drag&Drop, ввод-вывод (пока доступно только три варианты, включая XMLHTTPRequest, IFrame и script, для использования именно коммуникационной части лучше взять раннюю версию, оптимально 0.4.3), локализацию, работу с датами, связи с RPC сервисами и другие основные функции, которые необходимы в любом AJAX-based приложении.
  • Dojox - по моему, самый интересный модуль, включающий в себя все новаторские разработки, которые вы можете применять на свой страх и риск. А применить есть что - тут и поддержка Cometd, диаграмм, различных вариаций массивов и коллекций, криптографические алгоритмы (MD5,Blowfish), компрессия и кодирование данных, работа с Flash, двухмерная графика и спецэффекты, рисование (canvas), даже трехмерные примитивы (включая освещение, операции с матрицами трансформации и тени), валидация данных в формах, некоторые не вошедшие в Dijit виджеты, например Grid и его разновидность VirtualGrid, отличная надстройка над стандартным таймером и другие "вкусности".
  • Utils - пакет служебных утилит, которые применяются для сборки своего пакета Dojo (в виде одного или нескольких файлов, включая все необходимые именно вам пакеты), утилита генерации документации из исходных кодов и другие. Все они выполнены на основе Java и могут применяться в командном режиме на сервере.

Конечно, такое разнообразие повлияло на размер пакета, вариант с исходными кодами и документацией занимает почти 20 мегабайт, но его логично использовать только в процессе разработки, а для финальной версии собрать свою версию пакета, куда включить все необходимые модули - так вы сократите список файлов с сотни до нескольких, а применяя ещё и оптимизацию и сжатие, получите фреймворк, который по размерам мало чем уступит другим аналогичным, но в плане возможностей превосходит их на две головы. Да, в плане визуального интерфейса ему ой как далеко до красивостей ExtJS, но зато он компенсирует бедность Ext-а в других, "прикладных" областях. Так что совершенно логично использовать два компонента в связке, применяя сильные стороны каждого из них.

Комментирование отключено.