Последние годы развитие World Wide Web происходит по знаком Dynamic HTML (сокращенно DHTML). Трудно найти публикацию, посвященную WWW, в которой не шла бы речь о DHTML, но еще труднее найти публикацию, в которой это понятие было бы четко сформулировано. В этом разделе мы попытаемся дать определение Dynamic HTML, приемлемое для практического использования, и проследить этапы его становления.
В самом общем виде можно сказать, что Dynamic HTML - это набор технологий, работающих на стороне клиента и призванных преодолеть статичность традиционных Веб-страниц. Точнее говоря, это технологии, которые обеспечивают
динамическое формирование Веб-страницы в процессе ее загрузки, и
динамическое изменение Веб-страницы в ответ на действия пользователя.
Для достижения перечисленных целей используются следующие методы:
динамическое изменение атрибутов и стилей элементов, составляющих HTML-документ;
динамическое извлечение данных из внешних источников и включение их в Веб-страницу;
использование динамически загружаемых шрифтов;
поддержка визуальных и мультимедийных эффектов при отображении страниц;
механизмы сохранения информации на компьютере-клиенте между сессиями работы.
Все эти явно разнородные методы покоятся, в действительности, на двух китах. Первым из них является интеграция HTML-документа, каскадных стилей и сценариев клиента, основанная на объектной модели документа. Вторым - использование компонентного программирования, позволяющего нам встраивать однажды разработанные компоненты в различные создаваемые нами документы.
Что же дает DHTML разработчику Веб-узлов? По нашему мнению, основных преимуществ три:
Повышение конкурентоспособности узла. Узел, содержащий динамически изменяемые цвета, анимированную графику, систему выпадающих меню и другие стандартные (для современных ОС, но не для Веба) элементы пользовательского интерфейса, явно привлекательнее для пользователя, чем обычные статические страницы. Разумеется, при этом нужно иметь чувство меры и соблюдать общие принципы дизайна.
Легкость сопровождения. DHTML позволяет нам вынести типовые элементы формирования страниц нашего Веб-узла в отдельные таблицы стилей и сценарии, а затем включать их одинаковым образом во все страницы. Это, безусловно, упрощает сопровождение и минимизирует количество возникающих опечаток и других ошибок.
Уменьшение трафика. Одна из основных особенностей DHTML состоит в том, что он переносит основную тяжесть по формированию Веб-страниц с сервера на клиент. Платой за это является загрузка с сервера сценариев и программных компонент, которые при правильном проектировании незначительны по объему. В результате динамические страницы загружаются и отображаются намного быстрее статических, что особенно важно для отечественных каналов связи, не страдающих чрезмерно высоким качеством.
Объективности ради следует остановиться и на тех недостатках DHTML, о которых постоянно говорят сторонники "Веб-страниц, одинаково отображаемых всеми обозревателями". По их мнению, Dynamic HTML не оправдывает себя прежде всего потому, что он не стандартизован, и под каждый из популярных Веб-обозревателей нужно писать свою версию HTML-документа. Действительно, DHTML, как и всякая другая новая технология, не оформился пока в четкий стандарт. Тем не менее, усилия по созданию динамических страниц окупаются хотя бы по перечисленных выше причинам. Да и отсутствие стандарта никогда не мешало продвижению перспективных технологий (электроприборы, к примеру, существуют гораздо дольше, чем Интернет, но никого не смущает то, что часть из них рассчитана на 220В, а часть на 127В).
Если присмотреться внимательнее, то противодействие распространению DHTML вызвано совершенно другой причиной. Дело в том, что до сих пор создание Веб-страниц не требовало специальных знаний, кроме знакомства с HTML и умения минимально манипулировать графикой. С появлением DHTML ситуация изменилась в корне: разработка динамической страницы требует программирования на сценарном языке, сопряженного с пониманием работы обозревателя на уровне генерации и обработки событий, владением основами пользовательского интерфейса и т. п. Иными словами, Веб-дизайн востребовал специалистов, что у многих вызывает неприятие. На самом деле, демократическая сущность WWW от этого не пострадала. По-прежнему любой желающий может создать, скажем, свою домашнюю страничку на уровне своих знаний, и DHTML этому не помеха. Другое дело, что профессиональные разработки должны соответствовать по уровню лучшим из наличествующих технологий, но на то они и называются профессиональными.
В этом разделе :
8 Базовая объектная модель документа Введение в DOM. Основные понятия. Исключения: интерфейс DOMException. Описание реализации: интерфейс DOMImplementation. Фрагмент документа: интерфейс DocumentFragment. Документ: интерфейс Document.
8 Узлы дерева документа Абстрактный узел: интерфейс Node. Упорядоченный список узлов: интерфейс NodeList. Неупорядоченный список узлов: интерфейс NamedNodeMap.
8 Элементы и атрибуты
8 Дополнительные интерфейсы базовой модели Секция CDATA: интерфейс CDATASection. Тип документа: интерфейс DocumentType. Нотация: интерфейс Notation. Раздел: интерфейс Entity. Ссылка на раздел: интерфейс EntityReference. Директива: интерфейс ProcessingInstruction.
8 Объектная модель HTML-документа Реализация DOM HTML: интерфейс HTMLDOMImplementation. Коллекции: интерфейс HTMLCollection. HTML-документ: интерфейс HTMLDocument. HTML-элемент: интерфейс HTMLElement.
8 Элементы HTML Структурные элементы HTML. Отображение текста. Списки. Таблицы.
8 Элементы HTML (продолжение) Гиперссылки, объекты и графические образы. Фреймы. Формы. Прочие элементы. Морально устаревшие элементы.
8 Динамические таблицы стилей Включение таблиц стилей в документ. Списки устройств: интерфейс MediaList. Таблицы стилей: интерфейс StyleSheet. Списки таблиц стилей: интерфейс StyleSheetList. Таблицы стилей на языке CSS. Операторы CSS: интерфейс CSSRule. Правила CSS: интерфейс CSSStyleRule. Директива @media: интерфейс CSSMediaRule. Директива @font-face: интерфейс CSSFontFaceRule. Директива @page: интерфейс CSSPageRule. Директива @import: интерфейс CSSImportRule. Директива @charset: интерфейс CSSCharsetRule. Неизвестный оператор: интерфейс CSSUnknownRule. Списки операторов CSS: интерфейс CSSRuleList. Таблицы стилей CSS: интерфейс CSSStyleSheet.
8 Динамическое управление стилями Способы доступа к стилям. Значение свойства CSS: интерфейс CSSValue. Примитивное значение свойства: интерфейс CSSPrimitiveValue. Списки свойств: интерфейс CSSValueList. Цвет: интерфейс RGBColor. Прямоугольник: интерфейс Rect. Счетчик: интерфейс Counter. Декларация стиля CSS: интерфейс CSSStyleDeclaration. Свойства CSS: интерфейс CSS2Properties. Специфицированные и вычисленные значения свойств.
8 Обработка событий в DOM Основные понятия. Регистрация обработчиков событий: интерфейс EventTarget. Обработчики событий: интерфейс EventListener. Обработчики событий HTML 4.0. События: интерфейс Event. События пользовательского интерфейса: интерфейс UIEvent. События мыши: интерфейс MouseEvent. События клавиатуры: интерфейс KeyEvent. События изменения документа: интерфейс MutationEvent. События HTML.
8 Обработка событий в Internet Explorer Общее описание. Дополнительные методы интерфейса HTMLElement. События: объект event. Классификация событий.
8 Отображение документов в DOM и Gecko DOM 2 не содержит детальной спецификации интерфейсов, связанных с отображением документов, такие спецификации появятся в DOM 3. Он определяет интерфейс AbstractView, предназначенный для установления связи между документом и его отображением, но не описывает его свойств и поведения.
8 Отображение документов в Internet Explorer
| |