Dojo

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
Dojo Toolkit
Dojo.logo.svg
Тип

JavaScript toolkit

Разработчик

Dojo Foundation

Написана на

JavaScript

Операционная система

Кроссплатформенное программное обеспечение

Последняя версия

1.9.1[1] (14 июня 2013)

Лицензия

BSD License and the Academic Free License

Сайт

dojotoolkit.org

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 (nested sets, вложенные множества);
  • 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 позволяет веб-приложениям хранить мегабайты данных на стороне клиента, постоянно и защищённо, с правами пользователя. Dojo Storage реализован для подавляющего большинства широко используемых веб-браузеров, включая Internet Explorer, Mozilla Firefox и Safari. Будучи включённой в веб-страницу, Dojo Storage определяет наиболее приемлемый метод хранения информации. Для Firefox 2 используется «родной» интерфейс, в других браузерах используется скрытый Flash-апплет. Так как Flash 6+ установлен приблизительно на 95% компьютеров по всему миру,[2] этот механизм хранения информации доступен большинству. Для тех веб-приложений, которые загружаются из файловой системы (то есть URL=file://…), Dojo Storage будет прозрачно использовать XPCOM в Firefox или ActiveX в Internet Explorer. Программист, использующий dojo, не обязан задумываться о тонкостях реализации — он просто получает в свои руки абстрагированные методы put() и get().

Dojo Foundation и спонсорство[править | править вики-текст]

IBM[3] и Sun Microsystems[4] анонсировали официальную поддержку Dojo, включая вклад в разработку ядра библиотеки. Dojo Foundation — некоммерческая организация, созданная для поддержки и продвижения Dojo. Её членами и спонсорами являются:

Сноски[править | править вики-текст]

  1. Dojo 1.9 Release Notes
  2. Adobe Flash Player Version Penetration =. Архивировано из первоисточника 19 февраля 2012.
  3. "Press release on www.marketwire.com"(недоступная ссылка — история). Архивировано из первоисточника 15 июня 2006.
  4. "Press release on prnewswire.com". Архивировано из первоисточника 19 февраля 2012.

См. также[править | править вики-текст]

Ссылки[править | править вики-текст]