Стандарты — это один из “слонов”, на которых держится рыночная экономика вообще, и в сфере информационных технологий их значимость видна особенно зримо. Именно они цементируют в единое технологическое пространство десятки тысяч (а может, и намного больше) различных продуктов и решений. Причем самое удивительное, что формирование и постоянное обновление системы стандартов в условиях глобализации (что опять же сильнейшим образом проявляется в ИТ, более того, глобализация — это также один из фундаментов ИТ-отрасли) происходит с помощью независимых (ни от государственных структур, ни от каких-либо корпораций) механизмов саморегулирования.
Один из самых ярких примеров тому — Интернет и его важная составляющая под названием World Wide Web. Здесь мы можем отлично наблюдать действие таких механизмов саморегуляции, которые наглядно демонстрируют правоту ключевого закона диалектики — единства и борьбы противоположностей. Проявляется это в том, что рыночная конкуренция заставляет участников рынка “тянуть одеяло” стандартов в свою сторону, но в то же время необходимость сохранения и развития рынка в целом требует постоянного поиска компромиссов в деле поддержки интероперабельности.
Как известно, базовым стандартом WWW является язык HTML для написания Web-страниц и соответственно создания Web-браузеров. И в этом плане можно уверенно сказать, что вся Web-сфера переживает исторический момент своего развития в связи с вступлением в законную силу нового варианта HTML 5.
Напомним, что официальной датой рождения HTML считается выход в 1991 г. первой версии стандарта, опубликованной его автором Тимом Бернерсом-Ли (англичанином по рождению и профессором Массачусетского технологического института). Именно г-н Бернерс-Ли стал в 1994-м основателем (и до сих пор является его руководителем) глобального консорциума WWW (W3C) — главной международной организации в области интернет-стандартов, объединяющей сегодня 326 членов, к которым относятся и все основные игроки этого рынка.
В первое десятилетие своего жизненного пути HTML развивался довольно быстрыми темпами, двигаясь от первоначальной поддержки сугубо статических текстов в сторону создания динамических, насыщенных Web-страниц. Однако с публикацией в 1999 г. официально последней на сегодняшний день версии HTML 4.01 формальное развитие этого языка приостановилась. Почему так случилось — сказать однозначно трудно. Но можно назвать одну из наиболее вероятных причин: как раз в это время наступил период почти монопольного положения на рынке Web-браузеров Internet Explorer, который автоматически выполнял роль отраслевого стандарта. При этом Web-технологии активно развивались (в том числе в направлении все той же динамичности), но уже не в рамках единого HTML-стандарта, а в виде различных расширений.
Однако ситуация в сфере Web стала резко меняться в середине 2000-х, когда у IE появились реальные конкуренты из лагеря Open Source (Firefox, Opera), а потом и Google Chrome. Поскольку разработчики продвигали свои собственные версии Web-технологий, угроза нарушения целостности мирового Web-пространства становилась все более ощутимой. Стали резко расти затраты на разработку Web-сайтов, потому что фактически нужно было создавать отдельные варианты Web-кода для каждого браузера. И как раз тут сработали рыночные механизмы отраслевого саморегулирования, которые заставили поставщиков объединиться для обеспечения развития рынка в целом. В 2007 г. стартовал процесс создания нового стандарта — HTML 5.
Процесс этот шел намного сложнее, чем во времена версий 1—4, он до сих пор не закончен, хотя прошло уже почти четыре года. Причина опять же вполне понятна: нужно было найти компромиссы между имевшимися технологиями разных поставщиков, среди которых уже не было однозначного лидера. Более того, нужно иметь в виду, что, как правило, стандарты не определяют “будущие” технологии, а фиксируют текущее состояние “де-факто” на рынке. А ситуация в сфере Web все эти годы динамично менялась.
Продвижение в деле создания единого стандарта затруднялось в том числе вследствие традиционной “особой позиции” Microsoft, которая, как обычно, пыталась создавать собственную альтернативу общеотраcлевому варианту (в данном случае продвигая свою мультимедийную Web-технологию Silverlight). Ситуация фактически изменилась лишь прошлой осенью, когда Peдмонд однозначно заявил о поддержке HTML 5 в новой версии своего IE9. Наблюдатели еще тогда отметили, что на такое решение наверняка повлияло продолжающееся падение доли Microsoft на рынке Web-браузеров. При этом сразу обозначилась проблема перспектив Silverlight, которую корпорация также намерена развивать.
Так или иначе, но после официальной поддержки HTML 5 (а эксперты уже высказывают опасения, что Microsoft в обычной для себя манере может пойти по пути неполного следования стандартам с использованием собственных расширений) можно утверждать, что этот стандарт в целом уже практически стабилизировался. В мае 2011 г. он должен приобрести статус Working Draft Last Call (последний рабочий вариант), однако окончательное его принятие ожидается лишь в 2014-м.
Но появление стандарта совсем не означает снижение накала конкурентной борьбы между поставщиками браузеров: необходимость учитывать специфику того или иного браузера при Web-разработке хотя и уменьшается, но все же остается. А это значит, что решающее слово в борьбе на рынке сохраняется за независимыми Web-разработчиками. Вендоры отлично это понимают и ведут активную работу с программистским сообществом, в том числе и в России. Напомним, что именно вопросы использования HTML 5 были одной из главных тем состоявшегося в ноябре прошлого года в Москве мероприятия Google Developer Day.
А 17 февраля Microsoft провела в нашей столице свою конференцию HTML5 Camp (первую в серии подобных мероприятий по всему миру), посвященную современным Web-стандартам и с акцентом на HTML 5. По данным организаторов, ее посетило около четырёхсот Web-профессионалов (Google в ноябре собрала примерно тысячу человек), но все выступления можно было увидеть и в прямой онлайновой трансляции (Microsoft сообщила о 24 тысячах присоединившихся к онлайну, хотя счетчики статистики во время пленарной сессии показывали от одной до двух тысяч человек). Отметим, что среди докладчиков помимо сотрудников самой корпорации были специалисты еще ряда интернет-разработчиков, в том числе представитель Opera Software.
О чем говорилось на HTML5 Camp
Как уже отмечалось выше, основное направление развития HTML — это расширение поддержки динамического Web. И, наверное, главным новшеством версии 5 является то, что помимо расширения языка разметки (состава и функционала семантических тегов) в ней представлены новые средства программирования в виде наборов API для JavaScript и дополнительные возможности по работе с аудио, видео и графикой.
В частности, на конференции был представлен ECMAScript5 (ECMA-262 5th edition) — новый стандарт языка JavaScript, поддержка которого постепенно появляется в современных браузерах. Он предлагает новые средства управления объектами и их свойствами, закрепляя сложившиеся практики разработки на JavaScript. Очень важно, что при этом исправлен ряд ошибок и противоречий, которые были в предыдущей версии данного языка программирования.
Несколько докладов было посвящено новым возможностям работы с графикой. Речь помимо прочего идет о динамической генерации и анимации графики непосредственно в браузере в сочетании с аппаратным ускорением отрисовки, что позволяет добиться нового уровня визуализации данных и взаимодействия с пользователем без применения дополнительных плагинов. Современные Web-стандарты предоставляют две ключевые технологии для решения этой задачи: SVG для отображения векторной графики и Canvas для генерации растровой графики. Многие разработчики сталкиваются со сложной, но интересной задачей визуализации данных, отображения дополнительной информации поверх существующей и оптимизации отрисовки графики. Кроме того, необходимо обеспечить совместимость между различными браузерами. Как решить эту задачу, было показано на примере сервиса “Яндекс.Карты”.
Активное развитие и продвижение HTML 5 и связанных Web-стандартов и технологий не могли не затронуть область игр, в том числе казуальных. В рамках конференции был показан практический опыт разработки и портирования игр на HTML 5 на примере Doodle God компании JoyBits. По словам разработчиков, это не потребовало очень много ресурсов, но в то же время было сопряжено с некоторыми трудностями: данная область только начинает развиваться, практически нет готовых решений для создания игр на HTML 5, многое на первых порах приходится делать с нуля, есть также трудности с защитой контента, которые еще предстоит решить.
Измерение и анализ производительности клиентской части Web-приложений — еще одна крайне важная и актуальная задача, затрагивающая конечного пользователя. В настоящий момент она решается различными нестандартизированными средствами, возможности которых недостаточны. Однако в рамках W3C сегодня активно разрабатывается новый Web-стандарт по измерению производительности Web-приложений в браузере. В перспективе он позволит повысить качество разрабатываемых решений, увеличить их адаптивность к различным сценариям работы. Этот стандарт уже поддерживается в IE9.
Одна из современных тенденций развития Web-приложений — расширенная интеграция с окружением, что позволяет Web-приложениям стать ближе к конечным пользователям. На конференции отмечалось, что такие средства имеются в IE9 в виде закрепления сайтов на панели задач Windows 7 (Pinned Sites). Было сказано, что в настоящий момент многие крупные и успешные веб-порталы уже внедряют данную технологию, в том числе в России (Habrahabr.ru, Hi-Tech@Mail.ru, ivi.ru). Практика показывает, что пользователи IE9, закрепившие сайт, намного чаще возвращаются на него и проводят там больше времени.
В заключение скажем, что организаторы HTML5 Camp обещают выложить полную информацию о мероприятии, включая видеозаписи докладов на сайте Microsoft.