Dojo
Материал из Seo Wiki - Поисковая Оптимизация и Программирование
Dojo (доджо) — свободная модульная библиотека JavaScript. Разработана с целью упростить ускоренную разработку основанных на JavaScript или AJAX приложений и сайтов. Разработка библиотеки была начата Алексом Русселом в 2004 году. Библиотека находится под двойной лицензией: BSD License и Academic Free License. Dojo Foundation — некоммерческая организация, созданная для продвижения Dojo.
Dojo используется в Zend Framework, начиная с версии 1.6.0.
Содержание |
[править] Возможности
[править] Элементы интерфейса
Элементы интерфейса dojo — это пакеты, сформированные из компонентов: JavaScript-кода, разметки HTML и CSS. Они могут быть использованы для добавления различных интерактивных возможностей к сайту:
- меню, закладок, всплывающих подсказок;
- селекторов даты, времени; часов;
- сортируемых таблиц, динамических диаграмм, векторной 2D графики;
- элементов интерфейса «дерево», с возможностями drag-and-drop;
- Rich Text Editor;
- различных HTML-форм с возможностью проверки ввода пользователя;
- анимированных эффектов, и возможностей построения своих собственных эффектов.
[править] Асинхронная связь
Одной из важных особенностей AJAX-приложений является асинхронная связь между браузером и сервером: благодаря обмену информацией, вид страницы обновляется без перезагрузки страницы. Обычно это делается с помощью JavaScript-объекта XMLHttpRequest. Dojo предоставляет класс-«обертку» (dojo.io.bind), который позволяет абстрагироваться от различных реализаций XMLHttpRequest в браузерах, в том числе работающих через iframe. Используя эту технологию, становится просто создавать приложения, передающие вводимые пользователем данные на сервер. Сервер может ответить на это определённым JavaScript’ом и обновить вид страницы.
[править] JavaScript-программирование
Многие возможности dojo облегчают программирование на JavaScript.
- Абстракция от среды выполнения; Dojo предоставляет возможности для определения и работы с различными веб-браузерами и другими средами выполнения JavaScript (такими как Rhino).
- Dojo поддерживает разработку и распространение собственных элементов интерфейса и включает в себя библиотеку утилит для манипуляций с DOM.
- Система событий, которая позволяет реагировать не только на события DOM, но и на другие события, такие как, например, вызов определённой функции. Это позволяет в большей степени использовать аспектно-ориентированное программирование.
- Абстрагированный интерфейс для манипулирования JavaScript-классами, предоставляющий возможность наследования и позволяющий расширять существующие классы с помощью набора функций, вместо того, чтобы управлять непосредственно прототипами объектов.
[править] Система пакетов
Dojo предоставляет систему пакетов, облегчающую модульную разработку функциональности пакетов и суб-пакетов. «Загрузочный» скрипт инициализирует набор иерархических пакетных пространств имён: «io», «event», и т. д. — внутри корневого пространства имён «dojo». После инициализации корневого пространства имён, любой пакет Dojo может быть загружен (с помощью XMLHttpRequest или сходного способа) с помощью специальных функций загрузочного скрипта. Возможно также инициализировать дополнительные пространства имён внутри или вне пространства имён «dojo», что позволяет расширять dojo или разрабатывать закрытые пространства имён для сторонних библиотек и приложений. Пакет dojo может содержать множество файлов. Любой пакет или файл могут определять зависимости от других файлов или пакетов. Когда такой пакет загружается, все необходимые зависимости подгружаются автоматически.
[править] Хранилище на стороне клиента
Dojo предоставляет абстрактное хранилище данных на стороне клиента — Dojo Storage. Dojo Storage позволяет веб-приложениям хранить мегабайты данных на стороне клиента, постоянно и защищённо, с правами пользователя. Это работает для всего существующего веба, включая Internet Explorer, Mozilla Firefox и Safari. Будучи включённой в веб-страницу, Dojo Storage определяет лучший метод хранения информации. Для Firefox 2 используется «родной» интерфейс, в других браузерах используется скрытый Flash-апплет. Так как Flash 6+ установлен на около 95 % компьютеров по всему миру,[1] этот механизм хранения информации доступен большинству. Для тех веб-приложений, которые загружаются из файловой системы (то есть URL=file://…), Dojo Storage будет прозрачно использовать XPCOM в Firefox или ActiveX в Internet Explorer. Программист, использующий dojo, не обязан задумываться о тонкостях реализации — он просто получает в свои руки абстрагированные методы put() и get().
[править] Dojo Foundation и спонсорство
IBM[2] и Sun Microsystems[3] анонсировали официальную поддержку Dojo, включая вклад в разработку ядра библиотеки. Dojo Foundation — некоммерческая организация, созданная для поддержки и продвижения Dojo. Её членами и спонсорами являются:
[править] Критика
Dojo часто критикуют за недостаток документации. В ответ на эту критику с ноября 2006 года доступна документация по Dojo в виде книги по Dojo и автогенерированного Dojo API
[править] Сноски
- ↑ Adobe Flash Player Version Penetration =.
- ↑ "Press release on www.marketwire.com".
- ↑ "Press release on prnewswire.com".
[править] См. также
| Файл:Heckert GNU white.svg | Портал «Свободное программное обеспечение» |
|---|
[править] Ссылки
- dojotoolkit.org, официальный сайт Dojo, демо.
- Dojo API
- Dojo Foundation
- Google-группа по Dojo
- Обзор AJAX-библиотек, 31 июля 2006