А между тем коммерческое
освоение WWW не заставило себя долго ждать. В
начале 1994 г. группа разработчиков броузера Mosaic
основала корпорацию NetscapeCommunications и
вскоре выпустила первую версию коммерческого броузера Netscape
(начиная с версии 2.0 — NetscapeNavigator, а
с версии 4.0 — NetscapeCommunicator).
С этого момента начался экспоненциальный рост WWW,
продолжающийся по сей день. Чтобы закрепить лидерство (на которое, впрочем,
тогда еще мало кто покушался) и привлечь новых пользователей, Netscape
вводила в HTML все новые и новые усовершенствования,
— поддерживаемые, разумеется, только броузером Netscape.
Практически
все новые теги, без устали изобретаемые Netscape,
были направлены на улучшение внешнего вида документа и расширение возможностей
его форматирования. Причины понятны: чтобы убедить, скажем, бизнесмена, что ему
пора обратить внимание на некую новую технологию, прежде всего нужно показать
ему ее в привлекательном, «товарном» виде. Поставив себе целью завоевание
корпоративного рынка, разработчики из Netscape не
могли (да и не хотели, по-видимому) уделять должное внимание сложившимся
традициям развития языка. В результате тот вариант HTML,
который поддерживала выпущенная в начале 1996 г. версия NetscapeNavigator 2.0, представлял собой довольно
странную смесь старых логических тегов с беззастенчиво вломившимися новыми,
ориентированными на графическое экранное представление документа и
затрудняющими его воспроизведение на других устройствах вывода.
Такая политика компании, с
одной стороны, принесла ей быстрый и впечатляющий успех (одно времяверсииNetscapeNavigatorсоставлялиболее90% всехиспользуемыхброузеров),асдругой—вызвала ожесточенноесопротивлениенаиболеесознательнойчасти HTML-сообщества.
Энтузиасты неустанно разъясняли и разъясняют каждому, кто согласен их слушать,
что HTML по природе своей не имеет права зависеть от какого-то
конкретного броузера и что заявления типа «эту страницу лучше всего смотреть в NetscapeNavigator» являются просто насмешкой над здравым
смыслом.
Помимо
использования «плохих» Netscape-ориентированных тегов,
широко распространена также практика «злоупотребления» средствами HTML
ради сопутствующих им
25
визуальных
эффектов. Скажем, вместо того чтобы использовать тег TABLE
только для оформления «настоящих» таблиц, веб-дизайнеры сплошь и рядом
применяют таблицы без рамок для построения графического «каркаса» страницы
(стр. 234). Нет нужды объяснять, что оформление в виде таблицы того, что по
сути своей таблицей совсем не является, есть прямое нарушение идеологии
структурной разметки.
С другой стороны, если все-таки признать за HTML (в отсутствие CSS)
право совмещать в себе содержательный и оформительский аспекты разметки, то
можно, придерживаясь ряда несложных правил (стр. 35), создавать страницы,
великолепно выглядящие в графических броузерах и притом вполне доступные в
любых неграфических средах.
В конце 1995 г. ситуация в
мире HTML была довольно смутной. Популярность броузера Netscape
неуклонно росла; программисты этой фирмы готовили к выпуску версию 2.0,
которая должна была утвердить господство Netscape на
вечные времена благодаря неслыханному набору новшеств (интерфейс подключаемых
модулей, поддержка Java-апплетов, встроенный язык сценариев JavaScript,
возможность разбивки окна на фреймы и многое другое). К этому времени W3C
окончательно завяз в своем проекте HTML 3, который был слишком
сильно оторван от реальности и на завершение которого у консорциума попросту
не хватало ни сил, ни средств. HTML 3 по сравнению с HTML
2.0 был важным шагом вперед, однако он развивался по-прежнему в рамках
идеологии структурной разметки, а инструмент, дающий возможность выйти за эти
рамки, — система CSS — был еще далек от завершения.
В
этот переломный момент в игру вступил новый участник — корпорация Microsoft.
Долгое время эта компания, привыкшая монопольно владеть своим сектором рынка,
недооценивала перспективы Интернета и не собиралась как-либо участвовать в
развитии этой информационной среды. Однако невероятный взлет Netscape
(число копий броузера Navigator измерялось к этому времени
уже Десятками миллионов) заставил Microsoft изменить свое
мнение.
И
именно на броузерном фронте, где господство Netscape оставляло
меньше всего шансов конкурентам, корпорация Microsoft
нанесла свой главный удар. Поначалу мало кто верил, что броузер MicrosoftInternetExplorer,
который тогда существовал в версии 2.0 и не представлял собой ничего
26
выдающегося,
сможет составить конкуренцию Netscape. Тем не менее выпушенная
летом 1996 г. версия InternetExplorer
3.0, которая поддерживала почти все расширения Netscape,
вызвала настоящий бум и очень быстро утвердилась в качестве «второго главного
броузера». Сейчас Microsoft и Netscape
делят рынок броузеров почти поровну, и окончательный исход их битвы не берется
предсказать никто.
Несколькими ловкими ударами поставив свой броузер на один
уровень с казавшимся некогда непобедимым Netscape, корпорация Microsoft, очевидно, не собирается останавливаться на
достигнутом. Но еще интереснее то, что Microsoft при этом пытается создать для себя новый имидж —
компании, поддерживающей независимые организации вроде W3C и заботящейся об авторитете официальных стандартов не
меньше, чем о своей выгоде. На этом фоне Netscape, еще недавно имевшая репутацию главного генератора идей
и технологического локомотива всей Интернет-индустрии, начинает казаться
слишком закрытой, негибкой и эгоистичной в своих намерениях. В
действительности же стратегия Microsoft (как и незадолго до этого Netscape) заключается в том, чтобы, объявив официально о
поддержке какого-то открытого стандарта, немедленно «улучшить» его
расширениями, поддерживаемыми только в продуктах Microsoft, добиться признания этих расширений де-факто частью
стандарта — и тем самым установить контроль как над самим стандартом, так и
над соответствующим сегментом рынка.
Очевидно, чувствуя потерю инициативы, корпорация Netscape решилась весной 1998
г. на беспрецедентный шаг — опубликовала исходные тексты своего броузера на
сайте www.mozilla.orgи пригласила всех желающих программистов и
тестеров принять на некоммерческой основе участие в подготовке следующей
версии. Как это ни странно, именно работающие из чистой «любви к искусству»
энтузиасты создали многие свободно распространяемые и пользующиеся притом
огромной популярностью программы (в их числе даже целая операционная система —
Linux),
и Netscape
явно не прочь подзарядиться новыми силами и идеями из этого неисчерпаемого и
почти бесплатного источника. По некоторым сведениям, не коммерческих
конкурентов, а именно «открытые» программы со свободно распространяемым
исходным кодом Microsoft считает главной угрозой для своего могущества.
Одновременно с разработкой
конкурентоспособного броузера Microsoft решила «навести порядок» и
в мире HTML. Взяв под свою опеку W3C,
она напитала его денежными и людскими ресурсами и тем самым заработала право
едва ли не решающего голоса в этой организации. Проект HTML 3
был заморожен, а вместо него в сжатые сроки создан стандарт HTML
3.2, который, по сути, всего лишь описывает большинство расширений Netscape (с
тем же успехом их можно назвать теперь «расширениями Microsoft»).
Пройдя обычный в W3C
процесс обсуждения и внесения поправок, спецификация HTML
3.2 была утверждена в январе 1997 года. Спираль развития
HTML
завершила свой первый виток — как и в «золотой век», расхождения между
предписаниями стандарта и реализацией HTML в броузерах вновь были
сведены к минимуму.
В
декабре того же 1997 г., с принятием стандарта HTML
4.0, маятник, похоже, качнулся уже в обратную сторону — наряду с дальнейшим
обогащением репертуара визуальных тегов, эта версия ввела немало пусть и не
вполне «логических», но очень важных расширений для поддержки многоязычных
документов (стр. 32) и обеспечения доступности документа в разных средах (стр.
34). Кроме того, в HTML 4 наконец-то прямо в тексте стандарта
четко проведено разделение логических и визуальных тегов (последние объявлены
«нерекомендованными», «deprecated»). Кстати, объем
спецификации HTML 4 (которую я советую прочесть всем,
кто имеет хоть какое-то отношение к веб-дизайну) в несколько раз больше, чем у
3.2, в основном не за счет описания новых тегов, а благодаря гораздо более
подробному обоснованию целей и идеологии языка — так, в спецификацию включен
даже краткий курс SGML и разбор HTMLDTD.
Многие считают, что язык HTML исчерпал потенциал своего развития и что добавление
новых тегов вряд ли выведет его на принципиально иной уровень. История HTML, полная борьбы и
противоречий, по-видимому, близится к завершению. Точнее, подошла к концу
история его развития, так
как применяться в более или менее неизменном (и, по-видимому, близком к
современному) виде он будет еще долго — ведь в мире накоплено огромное
количество ресурсов, жестко привязанных к этому языку. Очень хочется надеяться
на то, что наследником HTML станет XML (стр. 47) — язык, гораздо более близкий по
идеологии к SGML и
в то же время достаточно простой для массового применения.
Врожденные и теперь уже вряд ли исправимые недостатки HTML особенно очевидны
для тех, кто занимается практическим веб-дизайном: из-за того, что HTML с самого начала не
был рассчитан на описание внешнего вида документа, он не в состоянии удовлетворительно
выполнить эту задачу даже сейчас, при наличии множества
визуально-ориентированных тегов. Прямым следствием этого является огромное
количество расхождений в интерпретации тегов броузерами. Как бы строго вы ни
следовали стандарту, HTML-файл приходится обязательно тестировать по меньшей мере
графических броузерах фирм Netscape и Microsoft, и чаще всего такое тестирование не обходится без
неприятных сюрпризов: отступы, пробелы, размеры элементов оформления и логика
их размещения на странице даже для простейших тегов различаются довольно
сильно.