Почему браузеры всех раздражают?
Только факты
За пределами HTML
Предупреждение
В спецификации HTML 4.0 учтены возможности DHTML

Когда примерно год назад мы впервые услышали о динамическом HTML, аналитики отрасли не отнеслись всерьез к поднятой производителями шумихе. Почему? Потому что два ведущих производителя браузеров, Microsoft и Netscape Communications, не могли прийти к согласию даже в том, нужно ли писать слово "dynamic" (динамический) с прописной буквы D, не говоря уж о каких-то более серьезных вещах. За последние несколько месяцев, однако, шум поутих, а динамический HTML постепенно, хотя и не спеша, становится все более зрелой технологией.

Почему браузеры всех раздражают?

Разработчики интрасетей, пытающиеся сделать свои Web-узлы быстрее, интеллектуальнее и лучше, возлагают большие надежды на динамический HTML. Он должен стать серьезным оружием в борьбе с тоской, которую вызывает одно лишь упоминание о браузерах. Проблема связана с тем, что Web-страницы в основном статичны и не обладают такой интерактивностью, как электронные таблицы, текстовые процессоры и даже дешевые видеоигры. Пользователи хотят иметь более интерактивные, анимированные страницы, одним словом - динамические.

Современных усовершенствованных технологий браузеров, таких как Java, JavaScript, JScript и ActiveX, недостаточно. Вы можете написать Java-аплет или управляющий элемент ActiveX и вставить его в Web-страницу, но полученный код не будет иметь доступа к остальной информации, размещенной на странице. В состоянии ли вы отсортировать столбцы в таблице? Нет. Сгенерировать динамическое оглавление? Нет. Перекрашивать текст в красный цвет, когда над ним проходит курсор мыши? Снова нет.

И хотя можно достичь некоторых видеоэффектов с помощью JavaScript, вам придется писать два варианта программы, поскольку реализации Netscape и Microsoft несовместимы. С помощью Java вполне можно создавать полные пользовательские интерфейсы, однако сделать это довольно сложно. Dynamic HTML пытается решить подобные задачи.

Только факты

Dynamic HTML способен обеспечить при создании Web-документов использование языков сценариев, поэтому документы HTML могут изменяться как сами, так и с помощью внешних или встроенных программ. В сущности, Dynamic HTML представляет собой модифицированную форму HTML, объединенную с Cascaded Style Sheets (CSS) и Extensible Markup Language (XML).

К сожалению, реализации динамического HTML, предлагаемые компаниями Netscape и Microsoft, значительно различаются. Я не встречал ни одной созданной с их помощью программы, которая действительно делала бы что-либо интересное. Сильно упрощая, можно сказать, что версия Netscape динамического HTML - яснее, но реализация Microsoft способна на большее.

Версия Netscape ориентирована на JavaScript. Это, с одной стороны, ограничивает ее, поскольку не существует очевидного способа использовать ее из аплета Java или из программы на C++, а с другой - делает яснее, поскольку каждая функция имеет четкое определение.

Версия Microsoft представляет собой довольно обширную библиотеку API, обеспечивая доступ к большинству компонентов страницы и связанной с ними информации CSS. Ею можно пользоваться из приложений на C++, Java, JavaScript и, конечно, из ActiveX, OLE и Visual Basic. Динамический HTML компании Microsoft имеет вид, знакомый ветеранам Visual Basic и вызывающий неприятие у тех, кто не разделяет подход Microsoft к архитектуре API. Кроме того, создается впечатление, что он создан в результате разноплановых архитектурных изысков.

Существует ряд вещей, которые с одинаковым успехом можно делать в обеих версиях динамического HTML - с различным синтаксисом для каждого. По этой причине проектировщикам Web пока не стоит тратить много времени и сил на динамический HTML. Плохо то, что Microsoft и Netscape распространяют несовместимые версии безусловно важных технологий.

Обо всем остальном мире позаботится World Wide Web Consortium (W3С), разрабатывающий стандарт, который получил название Document Object Model (DOM). Он позволит обеспечить совместимость реализаций динамического HTML. Правда, никто не может создавать стандарты так же быстро, как Microsoft и Netscape - свои продукты, но W3C действует все же быстрее, чем International Standards Organization и Internet Engineering Task Force.

Группа, работающая над DOM, уже выдала первые результаты. Хотя это лишь предварительный документ, он дает представление о том, каким будет новый HTML. По словам представителей W3C, он будет включать в себя CSS, HTML и XML. В подготовке стандартов также принимают участие Microsoft и Netscape.

За пределами HTML

Поскольку сеть Web была "завязана" на HTML, то когда пришло время сделать ее динамической, большинство пользователей решили, что единственный выход - создание интерфейсов с HTML. Но как только программисты начинают выяснять, что представляет собой страница HTML, сразу возникает ряд проблем.

Направьте, к примеру, свой браузер на узел www.amazon.com и поищите "Одиссею" Гомера. Вы получите прекрасный список, в котором будут указаны 52 издания. Для каждого из них компания Amazon предлагает полезную информацию (в частности, об издателе, переводчике, цене, времени выпуска и о том, поставляется ли издание в виде книги или на аудиокассете).

Как здорово было бы сделать эту страницу динамической! Браузеры сортировали бы записи, так что вы сумели бы выяснить, к примеру, какое издание на аудиокассете можно получить быстрее всего. Но HTML-версия этой страницы (ее можно увидеть с помощью View Source) - просто программа на HTML:



Homer : The Odyssey : Books 13-24 (Loeb Classical Library, No 105) Vol 2,


er, et al / Hardcover / 1995 

Our Price: $18.95

Если вы программист и хотите отсортировать этот список по цене и дате издания, вам придется написать программу, которая выбирает список, разбирает его (на основе слова Published и знака доллара), выясняя, где указаны дата выпуска и цена, и выполняет требуемую вам работу. Данная задача весьма сложна, и тут в игру вступает XML.

Этот пример демонстрирует большинство важных моментов, касающихся XML. Вы можете придумывать свои собственные теги, но вам придется позаботиться о балансировке тегов начала и конца. XML, в отличие от HTML, не имеет предопределенных тегов, и вам нужно создавать свои собственные. Чтобы браузер отобразил XML, необходим CSS или другая таблица стилей. Вот XML-версия того же листинга Amazon:


="/exec/obidos/ISBN=0674995627/7194-4397031-075274">

Homer


The Odyssey : Books 13-24


Loeb Classical Library


No 105 Vol 2

 

2-3 days


Hardcover


1995

$18.95

.

Если вы, например, хотите узнать цену, то просто ищите тег . Такие программы легко пишутся и эффективно используются, а кроме того, они надежнее.

Что если Amazon регулярно изменяет внешнее представление списка? В таком случае программа на "чистом" HTML работать не будет. С помощью XML можно менять представление сколь угодно часто. До тех пор, пока вы используете и , ваша программа будет продолжать работать.

Вывод: DOM будет полезнее с HTML, но с XML он будет превосходен.

Предупреждение

До начала повсеместного применения не зависящего от производителей DOM остается еще, по крайней мере, год. И за этот год есть о чем подумать.

Во-первых, необходимо ликвидировать разногласия между компаниями Netscape и Microsoft, что совсем не просто. Во-вторых, трудно будет создать единый набор API-интерфейсов, даже если будет достигнуто соглашение по ключевым вопросам. В-третьих, браузеры - это большие, сложные программы. Потребуется время на создание каких-либо решений, которые сможет рассмотреть комитет по DOM, и на то, чтобы эти версии добрались до настольных систем пользователей.

В спецификации HTML 4.0 учтены возможности DHTML

Утверждая HTML 4.0, World Wide Web Consortium (W3C) стандартизировал многие функции Dynamic HTML (DHTML), но они вряд ли будут доступны пользователям по крайней мере в течение года. HTML 4.0 - первый стандарт, появившийся после версии HTML 3.2 - создавался в течение прошлого года с целью примирить различные типы браузеров, в частности конкурирующие браузеры Netscape и Microsoft, а также сделать сеть Web более визуально привлекательной и легко доступной через различные интерфейсы. Он также добавляет много новых международных возможностей.

По словам представителей W3C, в спецификации HTML 4.0 добавлена поддержка усовершенствованных форм, выровненных фреймов и улучшенных таблиц, а также объектов, сценариев и таблиц стилей. Многие из функций были разработаны Microsoft для своего DHTML и затем переданы на рассмотрение в организацию по подготовке стандартов.

Прежде чем конечные пользователи смогут воспользоваться всеми преимуществами HTML 4.0, поддержку его новых возможностей придется добавить в браузеры, инструментальные средства и серверы Web. Тим Слоан, аналитик компании Aberdeen Group, считает, что процесс интеграции займет год или даже больше.

HTML 4.0 также предлагает схему разметки, которая необходима для создания документа на любом (а возможно, и не на одном) языке. Она позволяет авторам Web-документов контролировать их внешний вид, учитывая связанные с языковыми различиями направления набора текста и кодировки символов.

Утверждение стандарта - второе решение, принятое в декабре прошлого года W3C. 8 декабря группа придала новый импульс развитию Extensible Markup Language (XML), предложив спецификации XML 1.0 для оценки и ратификации в W3C. Вместе с последней версией HTML была предложена новая бесплатная служба HTML Validator, благодаря которой члены Web-сообщества смогут проще адаптировать свои системы к условиям спецификации HTML 4.0. Validator позволит поставщикам информационного наполнения и производителям инструментальных средств "проверять" свои Web-страницы и продукты на соответствие спецификации HTML 4.0. Эту службу можно найти по адресу http://validator.w3.org/. Web-адрес консорциума World Wide Web Consortium - http://www.w3.org/.