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

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

  1. Adobe Flash Player Version Penetration =.
  2. "Press release on www.marketwire.com".
  3. "Press release on prnewswire.com".

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

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

Источник — «http://www.seobuilding.ru/wiki/Dojo»

Served in 1.313 secs.