Главная > AJAX, Open Source, веб-обзоры, Разное > Dojo Toolkit — как минимизировать дистрибутив, а также отличные примеры возможностей.

Dojo Toolkit — как минимизировать дистрибутив, а также отличные примеры возможностей.

7 апреля 2008

dojocampus_logo.pngПриветствую наших читателей. Наряду с библиотекой для построения мощный, функциональных и красивых интерфейсов для веб-приложений ExtJS, я в последнее время снова (по второму кругу) заинтересовался другим фреймворком, а именно, Dojo Toolkit. В чем-то мощнее, в чем-то проигрывая Ext-у, он может быть быть незаменимым при построении действительно мощный и функциональных веб-приложений, предлагая развитые библиотеки для создания всего, что угодно на javascript просто в браузере (а теперь еще и в среде Adobe AIR).

Но меня часто спрашивали, да и в комментариях было не раз, где и как можно посмотреть ее преимущества, в чем же эта мощь проявляется. Если, для сравнения, в том же ExtJS, присутствует очень красивый и впечатляющий раздел с примерами использования различных компонент и даже части веб-приложений, полностью сформированные с компонент из пакета, то для Dojo, к сожалению, предоставленный на сайте раздел достаточно бедный и по нему очень сложно составить правильное мнение о возможностях. "Развращенные" килобайтными библиотеками других разработчиков, не все станут скачивать полный дистрибутив, который, честно говоря, действительно достаточно увесистый, как на JS-фреймворк - это почти 16 мегабайт! Хотя там конечно, не только код, но и тесты для каждого модуля и другие файлы, так что реальные размеры библиотеки, конечно же меньше. Но факт есть факт - немногие доберутся до внутренностей, чтобы рассмотреть из чего и как состоит этот проект.

Теперь ситуация улучшилась. Открылся интереснейший проект для популяризации Dojo, а также для наглядного и быстрого (да, и красивого внешне) доступа ко всем тестовым примерам для большинства модулей из состава библиотеки. Называется проект DojoCampus и размещен на соответствующем домене - http://dojocampus.org

Посмотреть на все возможности библиотеки можно в разделе Dojo Feature Explorer, который разделен на три глобальные части, в соответствии с модульной структурой самой библиотеки. В разделе Dojo Base мы можем посмотреть примеры связанные с возможностями ядра библиотеки. Здесь и примеры работы с различными данными (загрузка фотографий с Flickr, RSS и другие), и примеры реализации  Drag&Drop, базовые средства анимации и спецэффектов из модуля Fx, различные механизмы ввода/вывода (на основе обьекта XMLHTTPRequest, Script tag и IFrame), а также разные базовые алгоритмы для работы с DOM-деревом.

Вторая вкладка - Dijit, показывает различные компоненты графической подсистемы и демонстрирует большинство виджетов и элементов управления, доступных в библиотеке. Здесь представлены стандартные компоненты вроде окно, элементов форм, редакторы, лайауты, прогресс бары, а также разные приемы создания виджетов - в разметке HTML, напрямую в JavaScript коде (разными способами) и другое. Но я как всегда говорил и буду говорить - при всех стараниях, визуальные компоненты в Dojo не такие совершенные как в других фреймворках, да и сама подсистема Dijit, которая обеспечивает все это, достаточно сложная и ресурсоемкая.

dojocampus_src.png

И самое интересное - DojoX, в котором собраны интересные алгоритмы и компоненты, значительно расширяющие возможности обычных JS-веб-приложений. Самые интересные примеры - это модуля построения графиков и диаграмм, в том числе и трехмерные, расширенные графические спецэффекты и анимация, в том числе и трехмерная, расширенные элементы управления и виджеты, например Grid и другие. Конечно, сюда вошли далеко не все компоненты, их в пакете DojoX намного больше, а часть пока имеют статус эксперементальных, но общее предстваление о возможностях библиотеки получить можно, и намного большее и лучше, чем на официальном сайте.

Кроме собственно примеров, на сайте собраны ссылки на разные публикации, посвященные тонкостям работы с библиотекой. Так что можно считать именно этот сайт первой отправной точкой в освоении и изучении библиотеки, а уже после идти на официальный, где документация для разработчиков и сам дистрибутив. После этого сайта вы, я почти уверен, другими глазами посмотрите на Dojo Toolkit.

И в завершение материала ссылка на отличный пост-исследование о том, как минимизировать библиотеку и собрать ее под свои нужды. Просто почитайте, особенно если вы уже начали или планируете использовать Dojo в своих проектах.

  1. 7 апреля 2008 в 13:10 | #1

    спасибо. полезно про минимизацию 🙂

  2. Vasy@
    7 апреля 2008 в 17:30 | #2

    А grid`a нет ?

  3. 7 апреля 2008 в 17:33 | #3

    это где нет? в Dojo Dijit есть! и на кампусе есть примеры!

  4. vasy@
    7 апреля 2008 в 17:38 | #4

    Соррри, как-то сразу не заметил…
    http://dojocampus.org/content/?p=36

  5. RIO
    8 апреля 2008 в 16:34 | #5

    Очень хотелось заюзать графики на стороне клиента. Сам эту область не исследовал, но судя по описаниям из всех JS фреймворков впереди планеты всей Dojo. Посмотрел примеры Dojo.charting — понравилось. Скачал и захотел попробовать в этом примере что-то хотя бы изменить для начала. А документации то 0! В API документации списки классов и пропертей, скорее всего автоматически нагенерированные, а для чего они предназначены или хотя бы какого они типа — не понятно. Пытался найти документацию по старым релизам Dojo — тоже безуспешно.
    Вопрос к гуру, это так и должно быть? Все занимаются научным тыком в исходники чтобы хоть как-то заюзать мошь упомянутого фреймворка? Или это только charting обделен документацией? Или может быть кто-нибудь знает где взять документацию по старым релизам?
    Работая с Ext-ом с такими проблемами сталкивался, но в разы реже.

  6. 8 апреля 2008 в 16:42 | #6

    да, есть такая проблема. Может, в Dojo Book что-то описано, или же в Dojo Planet поискать статьи. И, конечно, разбирать примеры и тесты, которые идут ко всем модулям — там самая полная и сильная информация.

    Насколько я знаю, чартинг сейчас в DojoX, а значит, имеет статус эксперементального модуля и, вполне вероятно, полной документации нет. Так что выход разбираться, и написать статью — заодно известность получите. Возможно и я поисследую вопрос, но гарантировать, что найду время, пока не могу.

  7. RIO
    8 апреля 2008 в 16:47 | #8

    Понятно, спасибо что утешили. А то бы еще день потратил на поиски документации вместо того чтобы погрузиться в ковыряние кодов и примеров.
    Если масштабы моих исследований потянут на статью тогда обязательно напишу.
    PS: Ext стал нравиться еще больше 😉

  8. 8 апреля 2008 в 16:51 | #9

    я бы не сравнивал — в эксте нет 98% функциональности DojoX, он покрывает только часть Dojo Core 95% Dijit

  9. RIO
    8 апреля 2008 в 17:01 | #10

    Я и не сравнивал. Я просто сказал что Ext нравится больше, потому что он лучше документирован, следовательно работать с ним проще.
    По поводу ссылок, спасибо, я их почти все уже видел, но:
    — в них примеры, аналогичные дистрибутивным;
    — нет описания ни одного класса или свойства;
    — они относятся к старым релизам Dojo.

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