Веб-анатомия по воскресеньям с Артемием Ломовым № 7
Мечты о взрослой жизни
|
И я знаю, что мне
Недолго осталось ждать,
Чтобы снова увидеть
Сосны на морском берегу.
Виктор Цой |
Еще совсем недавно (впрочем, для многих разработчиков это актуально и по сей день) вебмастеринг был чем-то сродни шаманству и пляскам с бубном. Несчастным HTML-кодерам приходилось долгие часы биться над каждым сколько-либо сложным сайтом, чтобы результаты отображения его страниц несколькими распространенными графическими браузерами обнаруживали хотя бы какое-то взаимное сходство.
Не перевелись еще кодеры, которые искренне верят, что именно в этом и заключалось истинное творчество, отличавшее настоящего мастера от ремесленника. Мне же сдается, что занятия по «подгонке» сайта под различные браузеры и многочасовые поиски компромиссных решений хотя и производили со стороны впечатление высокоинтеллектуального труда, но являлись все же трудом сизифовым, ибо спустя некоторое время после сдачи сайта заказчику вполне могла наклюнуться очередная версия какого-нибудь распрекрасного браузера, в которой все выстраданные результаты бессонных ночей безнадежно съезжали к чертовой бабушке.
Самое интересное, что веб-страницы и не должны были отображаться одинаково в разных браузерах. HTML, по замыслу своих создателей, изначально позиционировался как язык логической разметки документов, включая в себя лишь такие элементы, как гиперссылки, заголовки, абзацы, списки и их пункты, а чуть позже — теги для вставки графических изображений и описания HTML-форм. Предполагалось, что внешний вид всех подобных элементов будет определять браузер на свое усмотрение.
Строго говоря, для создания полнофункциональных сайтов было вполне достаточно возможностей HTML уровня 2.0. Но тут нежданно-негаданно в Интернет вторглась коммерция, и состоятельным заказчикам корпоративных сайтов, стремящимся любой ценой «впарить» доверчивым клиентам свои услуги или продукцию — навязчиво, назойливо, жестко — спокойный, суховатый и, чего греха таить, однообразный академический стиль оформления веб-страниц изрядно поднадоел. Чтобы заманить обывателя в свои сети, коммерческим сайтам потребовались броскость, яркость, красочность, похожесть на рекламу в глянцевых журналах.
Netscape и Microsoft не заставили себя долго ждать — почувствовав настроение рынка, они стали наперегонки встраивать в свои браузеры разнообразные «вкусности», порой не чувствуя меры. Консорциум W3C сгоряча даже утвердил рекомендацию HTML 3.2 — бестолковейшую из всех, напичканную элементами визуального форматирования и в то же время по-прежнему предполагавшую вольность их интерпретации браузерами.
Впрочем, даже она не выполнялась — как у «Навигатора», так и у «Эксплорера» были свои совершенно индивидуальные теги, никак не представленные в официальном DTD. Высокие идеалы полетели в тартарары. Казалось бы, навсегда.
К счастью, основоположники Web схватились за голову и предложили миру CSS. Каскадные листы стилей отделены от содержания страниц и поэтому не вредят внутренней логике последних. К тому же, они, в отличие от встроенных в HTML возможностей визуального форматирования, безо всяких оговорок явно предписывают агенту пользователя, каким образом должны интерпретироваться те или иные свойства и значения. Первая законченная рекомендация появилась в конце 96-го.
Но любой технологии нужны годы на «обкатку». CSS1 оказался почти не замеченным разработчиками, ибо так и остался красивой игрушкой, поскольку не мог заменить собой все визуальные средства, предусмотренные в HTML. К тому же, качество поддержки CSS в браузерах, не уставших еще к тому времени соревноваться, не выдерживало никакой критики.
CSS2, утвержденный в качестве официальной рекомендации в 1998 году, обладает намного более серьезными возможностями. В частности, в нем появилась так называемая модель визуального форматирования (блочная модель), позволяющая, по идее, избавиться от излюбленной и отточенной до мелочей, но не вяжущейся с какой бы то ни было логикой построения документов привычки вебмастеров верстать сайты таблицами.
Но модель визуального форматирования поддерживается более-менее сносно пока только самыми свежими браузерами, такими как IE6 или Opera 7.x. Сбрасывать со счетов пользователей предыдущих версий этих продуктов пока еще рановато. Хотя бы потому, например, что в стандартный комплект поставки ОС Windows 2000, которая многим (в том числе и мне) милее, чем XP, входит IE5, а среднестатистический юзер пассивен настолько, что пересилить лень и поменять версию браузера во имя каких-то призрачных идеалов он сможет разве что под страхом расстрела.
Неудивительно, что на фоне сложившейся ситуации крайне немногие разработчики рискуют окончательно и бесповоротно положиться на увещевания W3C и придерживаться при создании ответственных коммерческих проектов только и только актуальных рекомендаций Консорциума, среди коих:
- обеспечение безусловного приоритета логики построения документа перед его визуальным обличием;
- отказ от использования любых встроенных в HTML возможностей визуального форматирования в пользу CSS;
- строгое следование букве спецификаций HTML/XHTML и CSS.
Тем не менее, насущную необходимость всего этого мир уже осознал. (К слову сказать, и Microsoft, и Opera Software, и многие другие производители браузеров и мобильных устройств участвуют в W3C.)
«Прогрессивные» браузеры уже существуют, и они были названы выше. (Эстеты, правда, будут утверждать, что «Эксплореру» место на свалке, а лучший в мире браузер — это Firefox, но будем все же реалистами.) Сколько нужно времени, чтобы правила хорошего тона и стандарты, обеспечивающие гарантированную совместимость и облегчающие разработку, стали нормой? С момента, когда были созданы буквально все условия для торжества логики и принципа разделения содержания и представления на уровне конечного кода, прошло уже пять с половиной лет. Десяти в общей сложности, я надеюсь, хватит? Если да, то шанс отдохнуть от HTML-редактора среди тех самых сосен, что на морском берегу, уже почти не за горами…
13.06.2004
Теги: CSS
HTML
браузеры
веб-стандарты
|