Независимость и самодостаточность

Пожалуй, самое важное преимущество, которое привносит библиотека Dijit в вебразработку, – это возможность инкапсулировать компоненты пользовательского интерфейса в самостоятельные виджеты. Если у вас уже имеется опыт разработки вебприложений, то вам наверняка приходилось сталкиваться с проблемой объединения файлов HTML, CSS и JavaScript, содержащих реализацию пользовательского интерфейса, в переносимые пакеты, которые можно использовать для обеспечения требуемой функциональности в нужный момент времени и с минимальными усилиями.

Библиотека Dijit прекрасно соответствует этим требованиям, и, что особенно замечательно, она образует инфраструктурный слой, который вам не придется писать, отлаживать и сопровождать. Применяя функцию dojo.declare из библиотеки Base для моделирования классов, библиотека Dijit добавляет к стандартным методам создания и удаления, управляющим жизненным циклом объекта, стандартизованные средства реагирования на события, такие как нажатия клавиш на клавиатуре и перемещение указателя мыши, а также возможность обеспечивать визуальное представление. Кроме того, она обеспечивает возможность реализовать управление всем этим как в коде разметки HTML, так и в программном коде JavaScript, предоставляя одни и те же функциональные возможности разным группам разработчиков.

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


Парсер проанализирует этот атрибут и создаст экземпляр объекта DHTML, управляемого событиями. Например, ниже приводится измененный фрагмент из главы 1, который наглядно демонстрирует, насколько просто, используя только код разметки, добавить в форму текстовое поле ввода, в котором в первом приближении проверяется правильность ввода адреса электронной почты:
length=25
name="email"
dojoType="dijit.form.ValidationTextBox"
trim="true"
lowercase="true"
regExp="[a-z0-9._%+-]+@[a-z0-9-]+\.[a-z]{2,4}"
required="true"
invalidMessage="Please enter a valid e-mail address"/>

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

После того как страница будет загружена, парсер отыщет атрибут dojoType, запросит у сервера все необходимые дополнительные ресурсы (если таковые имеются) и пересадит виджет DHTML в страницу.


Создание пользовательского интерфейса при таком подходе не должно вызывать сложностей!

Безусловно, все, что можно реализовать в коде разметки, можно реализовать и на JavaScript. Вы можете создавать те же самые виджеты динамически, как обычные объекты JavaScript, и вставлять их в страницу, приложив незначительные усилия.

В типичном случае функцияконструктор диджита имеет следующую сигнатуру, согласно которой она принимает коллекцию параметров настройки и ссылку на узел:
dijit.WidgetName(/*Object*/props, /*DOMNode|String*/node)

Каждый диджит обладает ссылкой на узел DOM, который является его визуальным представлением, и все, что необходимо, чтобы обеспечить взаимодействие диджита с пользователем, – это добавить узел в страницу. Как только он станет видимым, все его обработчики событий становятся доступными, и диджит будет вести себя так, как будто он все время присутствовал здесь. Ниже показано, как программным способом можно создать тот же самый диджит, выполняющий проверку корректности адреса электронной почты. Параллель между этими двумя подходами вполне очевидна:
.



Оцените статью: (0 голосов)
0 5 0

Статьи из раздела Dojo на эту тему:
WAI-ARIA
Библиотека Dijit для дизайнеров
Диджиты приложения
Диджиты размещения
Диджиты форм

Вернуться в раздел: Dojo / Обзор Dijit