GetInfo.Ru – Компьютерная библиотека
Последние поступления
Как выбрать систему управления базы данных
Базы данных03/09/14
Этапы загрузки UNIX (в схеме)
Unix27/03/12
Gatewall Antispam: тотальный контроль электронной почты
Спам21/04/11
Мастер-класс: создаем Интернет-магазин (Часть 1)
Обзоры ПО20/04/11
CorelDRAW Graphics Suite X5: Что нового?
Обзоры ПО20/07/10
Добавить статью
Самые читаемые материалы
Математика + HTML = MathML(10685)
Кросс-браузерность: теория и практика(8149)
W3C будет вести себя так, как сам напишет(7905)
Международный консорциум W3C: от Рабочего проекта до Рекомендации(7673)
Немного слов о кодировках(7496)
Всего статей: 793Всего авторов: 364Подразделов: 47Добавлено за сутки: 0
Статьи  СТАТЬИ Форум  ФОРУМ Рейтинг  РЕЙТИНГ Поиск  ПОИСК Контакты  КОНТАКТЫ
» Главная » Спецификации » Ветер перемен

Ветер перемен


Артемий Ломов
artemy@lomov.ru
http://www.lomov.ru/

Ушедший 2004 год наверняка запомнится обитателям Рунета двумя яркими событиями — 10-летним юбилеем национального домена RU и выходом в свет финальной версии открытого браузера Mozilla Firefox 1.0, невероятный успех которого, по всей видимости, стал неожиданностью даже для непосредственных разработчиков. (По данным на начало февраля, менее чем за три месяца загружено порядка 22 млн копий этого браузера, см. www.spreadfirefox.com)

Менее очевидным для широкой общественности, но хорошо заметным для веб-разработчиков стал другой немаловажный итог 2004 года — в рунетовских сообществах «инсайдеров отрасли» стали намного больше говорить о явлении, которое нынче модно именовать «веб-стандартами». Под этим емким термином подразумеваются актуальные рекомендации Консорциума W3C (в основном XHTML 1.0 и 1.1, CSS2 и WCAG 1.0), нацеленные на отказ от морально устаревших, но пока еще доминирующих концепций построения веб-страниц во имя обеспечения доступности веб-контента для максимально широкого круга пользователей. И пусть даже веб-стандарты пока чаще всего упоминаются в Рунете в контексте неоднозначных дискуссий, появление на арене браузера Firefox, который на настоящий момент наиболее корректно поддерживает вышеперечисленные рекомендации W3C, сыграло роль эффективного катализатора этих споров, а также послужило стимулом для «выхода из тени» вполне осязаемых проектов, пропагандирующих или использующих веб-стандарты.

Следует заметить, что на Западе аналогичный процесс начался несколькими годами раньше, и к настоящему времени в англоязычном секторе Сети уже отчетливо видны его плоды.

Впрочем, обо всем по порядку…

Предыстория
Основа Всемирной Паутины — язык HTML, построенный на базе метаязыка SGML (Structured Generalized Markup Language, стандарт ISO с 1986 г.), по замыслу своих создателей, Тима Бернерса-Ли и Дэниэла Коноли, изначально позиционировался как язык логической разметки документов и включал в себя возможности для определения лишь таких элементов, как гиперссылки, заголовки, абзацы, списки и их пункты, а чуть позже — графические изображения и веб-формы. Предполагалось, что внешний вид всех подобных элементов будет определять браузер на свое усмотрение. Иными словами, веб-страницы не должны были отображаться одинаково в различных браузерах.

Строго говоря, для создания полнофункциональных информационных сайтов было вполне достаточно возможностей HTML уровня 2.0. Но в какой-то момент акулы бизнеса поняли привлекательность Всемирной Паутины с точки зрения возможностей по продвижению разнообразных товаров и услуг. В Интернет шумно вторглась коммерция, что повлекло за собой качественное изменение специфики среды WWW — имиджевым сайтам компаний потребовалось яркое, броское, запоминающееся и даже местами навязчивое оформление страниц, а кроме того — их константный внешний вид в различных браузерах.

Как известно, кто платит, тот и заказывает музыку… Главный на тот момент производитель браузеров, компания Netscape, почувствовав конъюнктуру рынка, пожертвовала логической стройностью HTML в угоду сиюминутным тенденциям. Чуть позже «подсуетилась» вездесущая Microsoft, и между этими двумя компаниями разгорелась нешуточная «гонка вооружений» — каждый производитель стремился встроить в свой браузер поддержку как можно большего количества разнообразных элементов HTML, отвечающих за визуальное представление информации (к примеру, позволяющих изменять цвет шрифта и фона страницы, позиционировать и выравнивать текст и т. п.) Поскольку рынком была продиктована потребность приблизить внешний вид веб-страниц к облику полос печатных изданий, возникла нелепая традиция верстать макеты сайтов при помощи таблиц, ибо в HTML не существовало более изящного и логически состоятельного механизма для взаимного позиционирования частей содержимого.

Чтобы как-то повлиять на ситуацию и привести к общему знаменателю порочные инициативы Netscape и Microsoft, в 1997 г. Консорциум W3C (WWW Consortium; основан одним из создателей Web — Тимом Бернерсом-Ли в 1994 г. с целью стандартизации веб-технологий, см. www.w3.org) в спешке утвердил рекомендацию HTML 3.2, включившую в себя, что называется, «по факту» введенные в оборот компаниями Netscape и Microsoft элементы визуального форматирования, но в то же время по-прежнему предполагавшую вольность их интерпретации агентами пользователя.

Эта временная мера не сильно помогла — Netscape Navigator и Microsoft Internet Explorer изобиловали множеством индивидуальных тегов и атрибутов, никак не представленных в официальном DTD (Document Type Definition), и по мере развития этих браузеров несовместимости только продолжали накапливаться. Работа HTML-кодеров к середине — концу 90-х гг. прошлого века свелась, по сути, к сизифову труду — им приходилось долгие часы биться над каждым сколько-либо сложным макетом сайта, чтобы обеспечить более-менее предсказуемый внешний вид страниц в нескольких распространенных на тот момент браузерах при отсутствии каких бы то ни было гарантий совместимости с последующими их версиями, а также с уже существовавшими пользовательскими агентами, в которых работа сайта не была явно протестирована.

Этот беспредел, разумеется, не мог продолжаться вечно, и в 1996 г. Консорциумом W3C была утверждена спецификация CSS (Cascading Style Sheets), основанная на DSSSL (Document Style Semantics and Specification Language) — языке для определения семантики и спецификации стиля документов SGML, базирующемся на механизме таблиц стилей.

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

Связь времен
Любой технологии, однако, нужны многие годы на обкатку. CSS1 оказался почти не замеченным разработчиками, ибо не смог заменить собой все визуальные средства, предусмотренные в HTML. К тому же, качество поддержки CSS в браузерах тех лет не выдерживало никакой критики.

CSS2, утвержденный в качестве официальной рекомендации в 1998 г., обладает намного более серьезными возможностями. В частности, в нем появилась так называемая модель визуального форматирования (блочная модель), позволяющая представить любую веб-страницу как набор прямоугольных областей с различными свойствами и тем самым избавиться от верстки шаблонов страниц при помощи таблиц. Кроме того, CSS2 позволяет определять индивидуальные и прозрачные для пользователя правила представления информации для различных сред и устройств вывода, в частности, для экрана настольного ПК или ноутбука, для меньшего по размерам экрана КПК или смартфона, для речевых браузеров, для механических строк Брайля, для принтера и т.д.

В HTML уровня 4.0, ставшем официальной рекомендацией в конце 1997 г., определяется три типа документов: Strict (строгий, предписывающий соблюдение четкой логической структуры и подразумевающий отказ от большинства возможностей визуального форматирования), Transitional (переходный, намного более либеральный) и Frameset (для страниц, использующих фреймы).

С момента, когда были созданы буквально все условия для торжества логики и принципа разделения содержания и представления на уровне конечного кода, а именно, с момента утверждения Консорциумом W3C тандема HTML 4 Strict + CSS2 в качестве официальных рекомендаций, прошло уже более шести лет. Для кого-то это будет неожиданностью, но «веб-стандарты» появились отнюдь не вчера. Их повсеместное распространение тормозилось все это время лишь низким качеством реальной поддержки упомянутых спецификаций сколько-либо распространенными браузерами.

Сегодня уже можно констатировать, что все современные браузеры работают с веб-стандартами на вполне приемлемом уровне. Firefox наиболее безупречно поддерживает рекомендации W3C, его догоняет Opera 7.x, а хуже всего на этом фоне выглядит IE6 (справедливости ради нужно отметить, что это проявляется в нюансах — я повторюсь, в общем и целом качество поддержки современных веб-стандартов даже в Internet Explorer 6.0 можно без натяжки назвать вполне сносным). К слову сказать, и Microsoft, и Opera Software, и Mozilla Foundation, и многие другие производители браузеров и мобильных устройств являются участниками W3C.

Что касается самых свежих рекомендаций W3C, то в концептуальном плане за шесть лет изменилось немногое. Развитием HTML 4 стал «расширяемый» (eXtensible) язык разметки гипертекста — XHTML 1.0, по сути своей являющийся переформулировкой HTML 4.01 в соответствии с правилами XML 1.0. XHTML 1.0, за исключением ряда нюансов, в точности повторяет функциональность HTML 4 и включает в себя все те же три типа документов Strict, Transitional и Frameset. XHTML 1.1, реализующий так называемую концепцию модуляризации и полностью упраздняющий типы документов Transitional и Frameset, уже несколько дальше от привычного HTML, но пока на практике используется редко. XHTML 2.0 уходит еще в больший отрыв от совместимости с HTML — в нем упразднен ряд тегов, в том числе <img> (его полномочия перешли более обобщенному тегу <object>), добавлен ряд новых понятий. Но XHTML 2.0 пока еще в работе и в разряд официальных рекомендаций W3C перейдет не так скоро. Это же относится к CSS3 — перспективной версии CSS, снимающей многие ограничения, присущие CSS2.

Чистая выгода
Сайты, построенные с применением актуальных рекомендаций W3C, имеют массу очевидных даже для невооруженного глаза преимуществ перед традиционными веб-ресурсами, страницы которых используют верстку содержимого при помощи таблиц, а также теги и атрибуты HTML визуального свойства. Ощутимые достоинства заметны как с точки зрения конечного пользователя (на благо которого, собственно, и трудится W3C), так и с позиции веб-разработчика. Рассмотрим их подробнее.

Верстка страниц с использованием блочной модели CSS в идеале предполагает, что каждой функциональной области сайта (будь то «шапка», блок навигации, основной текст, «подвал», рекламная вставка и т. п.) в HTML-разметке соответствует один-единственный блочный элемент, определяемый тегами <div>…</div> (вместо нескольких вложенных конструкций <table>…<tr>…<td>). Это существенным образом упрощает и облегчает HTML-код, а следовательно, страницы быстрее загружаются. Кстати говоря, в IE таблицы отображаются только после полной загрузки, что является дополнительным аргументом в пользу верстки страниц при помощи блочной модели CSS — блоки показываются сразу же даже в браузере от Microsoft. Если же для всех страниц сайта используется общий лист стилей, подключаемый при помощи тега <link>, это еще более заметно сокращает время загрузки страниц, ибо файл стилей, единожды загрузившись, обычно кэшируется браузером.

При условии, что в разработчиком предусмотрены индивидуальные листы стилей (или правила в общем листе стилей) для представления содержимого страниц сайта как на экране настольного ПК или ноутбука (media="screen"), так и на экране карманного компьютера (media="handheld") и на листе бумаги при печати (media="print"), пользователю нет никакой нужды искать на странице кнопки или ссылки а-ля «Версия для КПК» или «Версия для печати». Ни о чем не задумываясь, пользователь может смело зайти на страницу с тем же самым URL с «наладонника», увидев ее в специально адаптированном оформлении. Точно так же пользователь может стандартными средствами браузера отправить необходимую страницу на печать, и получить ее «твердую копию» без лишнего оформления, к примеру, без неактуальной в данном контексте навигационной панели. Все это, как вы понимаете, весьма благотворно сказывается на юзабилити сайта. Полное разделение контента и представления обеспечивает гарантированную текстуальную доступность материалов сайта, созданного с применением веб-стандартов, в любых браузерах. Даже применяя архаичный Internet Explorer 3.0 (в российских госбюджетных учреждениях можно встретить и не такое) или текстовый браузер вроде Lynx, посетитель сможет ознакомиться со всей информацией, представленной на сайте, пусть даже и без сопутствующего оформления. Следование немудреным указаниям WCAG (Web Content Accessibility Guidelines) — к примеру, старым, как мир, напутствиям заполнять содержательным текстом атрибут alt в тегах <img>, отвечающих за вставку в страницу значащих, критичных для понимания ее смысла изображений, не применять абсолютных единиц для задания кегля шрифта на страницах и т. п., можно сделать контент сайта доступным для людей с ограниченными возможностями здоровья — прежде всего, для слабовидящих или полностью утративших зрение. Пока в России инвалиды будут изгоями, цивилизованного общества нам не видать, как своих ушей…

Для полноты картины взглянем на веб-стандарты глазами разработчика.

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

Для того, чтобы полностью поменять дизайн сайта — вплоть до изменения взаимного расположения функциональных областей, не говоря уже о цветовой гамме и шрифтовом решении — нужно модифицировать один-единственный файл стилей. Со всей красноречивостью об этом свидетельствует многообразие примеров дизайна, представленное на сайте www.csszengarden.com.

Скептики возразят, что это не более чем игрушки — все сколько-либо серьезные сайты функционируют благодаря системам управления контентом («движков»), которые позволяют физически хранить шаблон страниц в единственном экземпляре вне зависимости от того, использует он табличную верстку и визуальные теги HTML или нет. Но задумайтесь на минутку — CSS, клиентская по природе своей технология, всерьез замахивается на сферу влияния систем управления контентом! Уже сегодня в ряде случаев CSS может позволить обойтись без «движка», порождающего серьезную нагрузку на сервер, снижающего скорость и надежность работы сайта.

Чтобы добавить к шаблону страницы или, напротив, исключить из его состава какую бы то ни было функциональную область, в случае табличного макета почти всегда приходится практически переверстывать все заново. Если же сайт реализован с применением актуальных рекомендаций W3C — достаточно поместить в файл стилей описание нового блока (или удалить описание старого), поменять несколько цифр, определяющих размеры смежных областей, после чего просто добавить данные, обрамленные тегами <div>…</div> с соответствующим параметром class или id в HTML-код.

Блок: Тенденции и свершения
Гиганты Рунета пока, к сожалению, в большинстве своем не прониклись идеями о необходимости следования актуальным рекомендациям W3C. В 2004 году дизайн меняли Mail.Ru, Lenta.Ru, запущено множество новых сервисов Yandex.Ru — и все эти «новые» сайты по инерции используют отжившую свое табличную верстку. В то же самое время на Западе бум веб-стандартов приобретает поистине глобальный размах — от табличной верстки отказались такие столпы, как Yahoo.com, Lycos.com, ABCNews.com; поразительной красоты сайты, основанные на современных рекомендациях W3C, демонстрируют Blogger.com, Ecco.com, Quark.com, CriticalMass.com и многие, многие другие.

В России, как обычно, долго запрягают. Трудно сказать, чем объясняется наш консерватизм — не то леностью и нежеланием переучиваться, не то привычкой видеть в переменах только худшее, но, тем не менее, уже сегодня нельзя, как год-полтора тому назад, сказать, что российский сектор Сети в технологическом плане стагнирует. Просто активность исходит «снизу вверх» и не особенно видна на поверхности, как, впрочем, это происходило и на Западе, но только чуточку раньше. Достаточно заглянуть в ЖЖ-комьюнити ru_webdesign, ru_coding и т. п., чтобы удостовериться, что буквально каждый день там обсуждается CSS-верстка и прочие аспекты веб-стандартов. С начала 2004 года в Рунете появилось множество достойных проектов, пропагандирующих веб-стандарты, вокруг которых формируются свои прочные сообщества. (Здесь мне не хотелось бы никого рекламировать, в том числе и по той причине, что я сам веду аналогичный проект.) Появляются студии — например, Cetera Labs, Minimal или CreativePro, заявляющие пунктуальность в следовании веб-стандартам своим кредо. И на данный момент, пока не расшевелились крупные студии, для них складываются поразительно удачные условия — ведь создаваемые небольшими прогрессивными студиями сайты по многим статьям объективно превосходят творения неповоротливых гигантов…

Статья опубликована в журнале CHIP

 
13.05.2005
Версия для печати Версия для печати Запомнить ссылку Запомнить ссылку
Ваша оценка:  1   2   3   4   5     

 О проектеПерепечаткаАвторамПартнерыО нас пишут
Наверх
©2003—2007. GETINFO.RU. ВСЕ ПРАВА ЗАЩИЩЕНЫ.