Dojo

Поделись знанием:
Перейти к: навигация, поиск
Dojo Toolkit
Тип

JavaScript toolkit

Разработчик

Dojo Foundation

Написана на

JavaScript

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

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

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

1.10.4 (18 января 2015)

Лицензия

BSD License and the Academic Free License

Сайт

[dojotoolkit.org lkit.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% компьютеров по всему миру,[1] этот механизм хранения информации доступен большинству. Для тех веб-приложений, которые загружаются из файловой системы (то есть URL=file://…), Dojo Storage будет прозрачно использовать XPCOM в Firefox или ActiveX в Internet Explorer. Программист, использующий dojo, не обязан задумываться о тонкостях реализации — он просто получает в свои руки абстрагированные методы put() и get().

Dojo Foundation и спонсорство

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

Сноски

  1. [www.adobe.com/products/player_census/flashplayer/version_penetration.html Adobe Flash Player Version Penetration =]. [www.webcitation.org/65ZZtWEcA Архивировано из первоисточника 19 февраля 2012].
  2. [www.marketwire.com/mw/release_html_b1?release_id=133309 "Press release on www.marketwire.com"](недоступная ссылка — история). [web.archive.org/20060615050348/www.marketwire.com/mw/release_html_b1?release_id=133309 Архивировано из первоисточника 15 июня 2006].
  3. [prnewswire.com/news/index_mail.shtml?ACCT=104&STORY=/www/story/06-16-2006/0004382050&EDATE= "Press release on prnewswire.com"]. [www.webcitation.org/65ZZu4Nwo Архивировано из первоисточника 19 февраля 2012].

См. также

Напишите отзыв о статье "Dojo"

Ссылки

  • [dojotoolkit.org/ dojotoolkit.org], официальный сайт Dojo, демо.
  • [dojotoolkit.org/api/ Dojo API]
  • [dojotoolkit.org/foundation Dojo Foundation]
  • [groups.google.com/group/ru-dojo-js-framework/ Русскоязычная Google-группа по Dojo]
  • [www.infoworld.com/article/06/07/31/31FEajax_1.html Обзор AJAX-библиотек], 31 июля 2006

Отрывок, характеризующий Dojo

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


Одним из самых осязательных и выгодных отступлений от так называемых правил войны есть действие разрозненных людей против людей, жмущихся в кучу. Такого рода действия всегда проявляются в войне, принимающей народный характер. Действия эти состоят в том, что, вместо того чтобы становиться толпой против толпы, люди расходятся врозь, нападают поодиночке и тотчас же бегут, когда на них нападают большими силами, а потом опять нападают, когда представляется случай. Это делали гверильясы в Испании; это делали горцы на Кавказе; это делали русские в 1812 м году.
Войну такого рода назвали партизанскою и полагали, что, назвав ее так, объяснили ее значение. Между тем такого рода война не только не подходит ни под какие правила, но прямо противоположна известному и признанному за непогрешимое тактическому правилу. Правило это говорит, что атакующий должен сосредоточивать свои войска с тем, чтобы в момент боя быть сильнее противника.
Партизанская война (всегда успешная, как показывает история) прямо противуположна этому правилу.
Противоречие это происходит оттого, что военная наука принимает силу войск тождественною с их числительностию. Военная наука говорит, что чем больше войска, тем больше силы. Les gros bataillons ont toujours raison. [Право всегда на стороне больших армий.]
Говоря это, военная наука подобна той механике, которая, основываясь на рассмотрении сил только по отношению к их массам, сказала бы, что силы равны или не равны между собою, потому что равны или не равны их массы.
Сила (количество движения) есть произведение из массы на скорость.
В военном деле сила войска есть также произведение из массы на что то такое, на какое то неизвестное х.
Военная наука, видя в истории бесчисленное количество примеров того, что масса войск не совпадает с силой, что малые отряды побеждают большие, смутно признает существование этого неизвестного множителя и старается отыскать его то в геометрическом построении, то в вооружении, то – самое обыкновенное – в гениальности полководцев. Но подстановление всех этих значений множителя не доставляет результатов, согласных с историческими фактами.
А между тем стоит только отрешиться от установившегося, в угоду героям, ложного взгляда на действительность распоряжений высших властей во время войны для того, чтобы отыскать этот неизвестный х.
Х этот есть дух войска, то есть большее или меньшее желание драться и подвергать себя опасностям всех людей, составляющих войско, совершенно независимо от того, дерутся ли люди под командой гениев или не гениев, в трех или двух линиях, дубинами или ружьями, стреляющими тридцать раз в минуту. Люди, имеющие наибольшее желание драться, всегда поставят себя и в наивыгоднейшие условия для драки.
Дух войска – есть множитель на массу, дающий произведение силы. Определить и выразить значение духа войска, этого неизвестного множителя, есть задача науки.
Задача эта возможна только тогда, когда мы перестанем произвольно подставлять вместо значения всего неизвестного Х те условия, при которых проявляется сила, как то: распоряжения полководца, вооружение и т. д., принимая их за значение множителя, а признаем это неизвестное во всей его цельности, то есть как большее или меньшее желание драться и подвергать себя опасности. Тогда только, выражая уравнениями известные исторические факты, из сравнения относительного значения этого неизвестного можно надеяться на определение самого неизвестного.
Десять человек, батальонов или дивизий, сражаясь с пятнадцатью человеками, батальонами или дивизиями, победили пятнадцать, то есть убили и забрали в плен всех без остатка и сами потеряли четыре; стало быть, уничтожились с одной стороны четыре, с другой стороны пятнадцать. Следовательно, четыре были равны пятнадцати, и, следовательно, 4а:=15у. Следовательно, ж: г/==15:4. Уравнение это не дает значения неизвестного, но оно дает отношение между двумя неизвестными. И из подведения под таковые уравнения исторических различно взятых единиц (сражений, кампаний, периодов войн) получатся ряды чисел, в которых должны существовать и могут быть открыты законы.
Тактическое правило о том, что надо действовать массами при наступлении и разрозненно при отступлении, бессознательно подтверждает только ту истину, что сила войска зависит от его духа. Для того чтобы вести людей под ядра, нужно больше дисциплины, достигаемой только движением в массах, чем для того, чтобы отбиваться от нападающих. Но правило это, при котором упускается из вида дух войска, беспрестанно оказывается неверным и в особенности поразительно противоречит действительности там, где является сильный подъем или упадок духа войска, – во всех народных войнах.
Французы, отступая в 1812 м году, хотя и должны бы защищаться отдельно, по тактике, жмутся в кучу, потому что дух войска упал так, что только масса сдерживает войско вместе. Русские, напротив, по тактике должны бы были нападать массой, на деле же раздробляются, потому что дух поднят так, что отдельные лица бьют без приказания французов и не нуждаются в принуждении для того, чтобы подвергать себя трудам и опасностям.


Так называемая партизанская война началась со вступления неприятеля в Смоленск.
Прежде чем партизанская война была официально принята нашим правительством, уже тысячи людей неприятельской армии – отсталые мародеры, фуражиры – были истреблены казаками и мужиками, побивавшими этих людей так же бессознательно, как бессознательно собаки загрызают забеглую бешеную собаку. Денис Давыдов своим русским чутьем первый понял значение той страшной дубины, которая, не спрашивая правил военного искусства, уничтожала французов, и ему принадлежит слава первого шага для узаконения этого приема войны.