Тим Бернерс-Ли изначально задумывал World Wide Web как универсальную платформу, и в 1989 году он принялся осуществлять свой замысел, решая практическую задачу обеспечения возможности коллегиальной работы и обмена знаниями для сотрудников различных отделов женевской лаборатории ЦЕРН, пользующихся разными компьютерными системами. Первыми Web оценили физики, но уже вскоре более широкая аудитория начала требовать больше графики и других возможностей — разработчики-энтузиасты создали браузеры, способные воспроизводить изображения и выполнять множество разных функций. WWW стала открытой и децентрализованной средой, для которой любой мог создавать программное обеспечение, не спрашивая разрешения. Важно, что основные технологии были доступны без лицензий, благодаря чему снижались барьеры для появления нового ПО. Открытый подход с самого начала способствовал развитию Web и сегодня продолжает влиять на Паутину.
К середине 90-х, однако, лидирующие браузеры начали различаться по набору поддерживаемых функций, и возникли опасения разделения WWW. Чтобы понять, почему пионеры Web предпочли единую платформу нескольким изолированным проприетарным «мини-вебам», обратимся к телефонии. Чем больше людей пользуются телефонами, тем более ценной становится телефонная сеть и тем проще разрабатывать новые решения для ее единой инфраструктуры. То же справедливо и для WWW, поэтому Бернерс-Ли и другие постарались сохранить единство Web на протяжении последних 25 лет. В 1994 году, чтобы избежать фрагментации, Бернерс-Ли учредил World Wide Web Consortium, который с тех пор следит за обеспечением долгосрочного роста единой среды Web, доступной для всех, при пользовании любым устройством и из любого места. Основная деятельность консорциума — объединение различных сторон: индустрии, исследователей, пользователей, дизайнеров и правительств в целях сохранения равномерного игрового поля для новаций. Такое взаимодействие привело к превращению Web в распределенную платформу приложений, которая работает (или вскоре будет работать) на любой системе в мире.
Обсудим принципы действия этой платформы, новые возможности, находящиеся сейчас на повестке дня W3C, а также посмотрим, как платформа Web трансформирует общество.
Открытая платформа Web
Под открытой платформой (Open Web Platform) прежде всего понимают самые новые возможности Web, которые появились под действием двух сил: технических достижений и роста популярности распределенных приложений. WWW сформировали многие технологические достижения прошлого десятилетия: недорогая электроника позволила удобно делиться различными цифровыми артефактами (снимками, видеороликами, музыкой и документами), а цена доступа к Сети резко упала, позволив транслировать потоковое видео и хранить данные в облаке. Цены на интернет-доступ с 1990 года снизились почти в тысячу раз, и сейчас многим домашним пользователям доступны скорости в десятки мегабит в секунду. Соответственно, значительная и растущая доля содержимого Сети приходится на мультимедиа. Беспроводные сети, мобильные телефоны и планшеты сделали реальностью доступ к Web из любой точки мира. Социальные сети позволяют связываться с друзьями, семьей и сообществами по интересам, предоставляя все больше инструментов для защищенного взаимодействия. Коммерческие предприятия пользуются социальными сетями для рекламы и продаж. Благодаря расширению функциональности и повышению надежности Web играет все более важную роль в мировой коммуникационной инфраструктуре.
Помимо этого, Web превращается в платформу распределенных приложений. Компании уже много лет создают проприетарные распределенные приложения, работающие только в одной операционной системе или на разных платформах какой-либо интероперабельной архитектуры. Однако в Web работает все больше межкорпоративных бизнес-приложений, облачных сервисов и всевозможных устройств — от гигантских рекламных щитов до планшетов и смартфонов. В этой связи призыв индустрии к созданию единой платформы распределенных приложений, работающих где угодно, звучит как никогда отчетливо. Именно поэтому сегодня создается архитектура WWW cледующего поколения — полноценная среда программирования для создания функционально богатых, интерактивных, кросс-платформных приложений.
Технологический стек
Open Web Platform поддерживает:
- API для доступа к различным возможностям устройств — например, к геолокационной информации, гироскопам, средствам связи ближнего радиуса действия (NFC) и камерам, а также к пользовательским данным, таким как календари и адресные книги;
- пользовательские интерфейсы, содержащие аудио и видео, векторные изображения, сложную графику и анимацию, высококачественные шрифты и т. д.;
- широкий круг средств ввода и вывода, таких как сенсорные экраны, клавиатуры, голос и вибрация;
- инструменты для сетевого обмена данными и связи, включая одноранговые коммуникации реального времени;
- решения, позволяющие выполнить социально обусловленные требования приватности, безопасности, интернационализации и доступности для инвалидов.
Краеугольный камень приложений для Open Web Platform — это стандарт HTML5, позволяющий создателям контента структурировать данные, которыми предполагается обмениваться. Благодаря структурированию облегчается управление, отображение и обработка данных — HTML5 поддерживает воспроизведение видео- и аудиозаписей без плагинов; программное создание растровых изображений, что удобно для оперативного рендеринга графов, а также игровой и иной графики; новые средства создания интерактивных форм; стандарты отображения масштабируемой векторной графики и математических уравнений; а также возможности включения структурированных данных в контент.
Программы, написанные на JavaScript, меняют внутреннюю структуру HTML5-контента и взаимодействуют с устройством или пользовательскими данными — в частности, некоторые API позволяют обрабатывать и синтезировать в реальном времени аудиопотоки, хранить данные для офлайн-использования (WebStorage и IndexedDB), взаимодействовать с мышью и сенсорным экраном, управлять функциями хост-устройства (звуком, вибрациями и т. д.), получать сведения о компонентах устройства (например, о состоянии батареи), обращаться к функциям обмена сообщениями на устройстве (SMS, электронная почта), пользоваться протоколом WebSocket для двунаправленной связи с удаленными хостами и принудительно отправлять данные с сервера на клиент. Количество доступных API быстро растет, что является одним из свидетельств создания платформы, способной соперничать с нативными операционными системами. Интерфейсы программирования также будут определять способность открытой платформы адаптироваться к новым средам — если пользователям нужны новые функции, то просто создается новый API, взаимодействующий с остальными.
Многочисленные Web-технологии позволяют управлять отображением информации: CSS контролирует макет страницы, цвета, шрифты и трансформации на плоскости и в трехмерном пространстве; Scalable Vector Graphics отображает векторные изображения и анимацию; Web Open Font Format позволяет применять высококачественные шрифты. Существуют также технологии для невизуальных режимов ввода и вывода, например для голосового управления и синтеза речи, а ряд технологий, например CSS Media Query и SVG, делают чрезвычайно простым создание единого источника на HTML5, который будет автоматически форматироваться в соответствии с размером экрана конечного устройства.
Интернет и WWW создали беспрецедентные экономические и социальные преимущества для общества — Open Web Platform способна удовлетворить потребности в приватности, безопасности, доступности для инвалидов и в поддержке различных языков. Технология Do Not Track, например, даст пользователю возможность разрешать или запрещать регистрацию своего онлайн-поведения, что очень привлекает политиков, рекламщиков и защитников права на личную тайну в США, Европе и других регионах. Еще один пример — пакет W3C Accessible Rich Internet Applications Suite (WAI-ARIA), упрощающий создание приложений, поддерживающих вспомогательные технологии для инвалидов.
Пример: геолокационное приложение
На рисунке показан простой пример использования интерфейсов программирования в HTML5. В данном коде задействован API геолокации, позволяющий определить широту и долготу местонахождения пользователя. Легко представить, как на базе этого несложного кода можно создать полноценное приложение для любителей бега, прокладывающее маршруты по карте, запоминающее пройденные дистанции и отмечающее рекорды, — и все это внутри браузера.
Инструменты, реализующие API геолокации, позволяют извлекать информацию разными способами — на мобильном устройстве используется чип GPS, а настольный браузер может вызвать онлайн-сервис, который устанавливает местонахождение по IP-адресам. При этом разработчикам приложения не нужно знать все эти подробности — один и тот же код на JavaScript сможет работать с любой реализацией API. Стандарт API геолокации требует учета пользовательских настроек приватности, определяющих, разрешено ли приложению получать сведения о местонахождении.
Сравнение технологий
Можно ли Web поставить в один ряд с другими платформами создания приложений (настольных, мобильных и т. д.)? Некоторым из них возможностей, реализованных на сегодня (например, поддержки HTML5 в новых версиях браузеров), вполне достаточно, и количество таких приложений растет. Как прогнозируют в ABI Research, к 2016 году на мобильных устройствах будет использоваться уже больше 2 млрд HTML5-браузеров. Вместе с тем Open Web Platform активно развивается, и ее недостатки у всех на виду. Например, для приложений из области индустрии развлечений при создании серьезных игр в HTML5 необходимо улучшить поддержку звука и повысить быстродействие. Получить доступ к некоторым возможностям мобильных устройств можно пока только с помощью нативных библиотек, но не из Web-приложений. Не поддерживается трансляция потокового видео в прямом эфире (с возможностью легкой адаптации к различной пропускной способности и особенностям устройств), и нет встроенных средств защиты для платного контента. Чтобы обойти эти пробелы, создаются гибридные приложения, пользующиеся как нативными, так и Web-функциями, а благодаря конкуренции на рынке стремительно идет обновление и расширяется интероперабельность.
Влияние открытой платформы
Open Web Platform трансформирует целые отрасли, приводя их к конвергенции и меняя до неузнаваемости, и один из ее феноменов — социальные сети, кардинально изменившие способы создания сообществ по интересам, а также обмен видео и изображениями, игры, процесс покупки, рекламу и т. д. Поскольку люди хотят взаимодействовать со своими сообществами с помощью большого числа разных устройств, в открытой платформе предусматриваются средства создания социальных приложений, которые будут доступны везде. В W3C при разработке технологий защиты от онлайн-слежки рассматривают и проблемы приватности, возникающие в социальных сетях.
Мобильная связь и телекоммуникации
Мобильные Web-приложения — это сейчас огромный бизнес, который еще десять лет назад даже не существовал. Пять лет назад мобильные устройства еще не могли отображать простейшие Web-страницы, а сегодня отраслевые аналитики предсказывают уверенный рост рынка мобильных веб-приложений. Web-технологии предоставляют разработчикам ряд преимуществ по сравнению с нативными библиотеками. При использовании Web снижаются расходы на разработку, а также гарантируется отображение на любом устройстве и единство пользовательского интерфейса в разных средах. Web-технологии полагаются на облако, упрощая инсталляцию, сопровождение (за счет прозрачных автоматических обновлений) и прототипирование — существуют API для поддержки использования в автономном режиме. Web снижает барьеры для выхода на рынок, поскольку многие стандарты были разработаны согласно применяемой в W3C безлицензионной политике, а телекоммуникационные операторы, в свою очередь, видят в Web инструмент, помогающий предоставлять доступ к новым сетевым сервисам.
Существует несколько направлений стандартизации, касающихся распространения и монетизации контента, обещающих усовершенствовать Web как мобильную платформу. В W3C также уделяют много внимания тестированию и оптимизации быстродействия. Подкомитет Core Mobile Web Platform Community Group, например, занимается стандартизацией базовых функций платформы для разработчиков и созданием тестовых комплектов, обеспечивающих интероперабельность технологий на разных мобильных устройствах.
Развлечения
Видеоразвлечения уже стали важной частью Web, а сервисы типа YouTube воплощают в жизнь идею о том, что каждый пользователь Паутины может быть создателем контента. Разнообразие стилей позволяет каждому выбирать развлекательный контент по вкусу. Люди смотрят онлайн-видео не только дома (на экранах телевизоров и настольных компьютеров), но и на мобильных устройствах, на улицах, а также на автомобильных развлекательных системах. Хотя видео распространяется взрывными темпами, по-прежнему есть проблемы с поиском контента, размещением ссылок, дистрибуцией и доступностью. Чтобы организациям и частным лицам было проще размещать видео, необходимы простые средства интеграции видеороликов в Web-контент других типов, например в HTML5-игры.
Компании Comcast, Disney, Netflix, Samsung, Sony и другие лидеры телевизионной и вещательной индустрий подключились к работе W3C, чтобы усовершенствовать Open Web Platform в соответствии со своими потребностями. Среди таких новшеств — поддержка видео в HTML5, интерфейсы программирования для доступа к потоковым медиаданным и возможность размещения ссылок на фрагмент видеоролика (технология Media Fragment URI).
Участники W3C составили спецификации по защите контента, адаптивной передаче потоков, домашним сетям и мультиэкранным системам, а также к механизму обнаружения устройств (который бы позволил, например, использовать мобильный телефон в роли пульта для телевизора). Один из комитетов разрабатывает спецификации, улучшающие интероперабельность открытой платформы на разных телевизорах. Предложены форматы субтитров SMPTE Timed Text и Web Video Text Tracks, которые позволят смотреть видео в шумных местах или, наоборот, там, где нельзя шуметь.
Цифровое издательство
Web трансформирует издательскую отрасль уже почти 25 лет — вначале HTML изменил принципы чтения, заставив привыкнуть к гиперссылкам, а потом текст в Web стал стартовым пунктом для поиска дополнительной информации. С переходом на открытую платформу влияние Web на издательство только усилится — текст обогатится медиаданными, интегрированными с социальными сетями и воспроизводимыми на различных устройствах. Экраны уже соперничают по разрешению с печатными изданиями, а высококачественные шрифты в Web, реализуемые средствами CSS и WOFF, обещают далее улучшить читаемость. Структурированные словари облегчат выполнение онлайн-исследований. Рекламодатели смогут пользоваться Web-технологиями для подготовки адресной рекламы, более ценной, чем реклама для широкой аудитории.
Стандарты электронных книг уже базируются на технологиях Web, таких как HTML5 и CSS, но возможность получения доходов от Web-публикаций и потребность в едином представлении контента изменят все аспекты издательской деятельности.
Автомобили
В автомобилях все активнее используются источники информации об окружающем пространстве, среди которых радары для обнаружения соседних автомобилей, инфракрасные и оптические датчики для распознавания встречных огней, дорожной разметки, слепых зон, дорожных знаков, датчики скользких дорог и давления в шинах, GPS, камеры и другие инструменты, определяющие, когда водитель засыпает либо отвлекается от дороги; применяются также сетевые коммуникации для передачи сообщений об опасностях и пробках. Пассажиры автомобилей, в свою очередь, пользуются в салоне личными устройствами для просмотра фильмов, выхода в Интернет и общения с друзьями. Согласно прогнозу компании MarketsandMarkets, к 2016 году объем рынка автомобильных развлекательных систем достигнет миллиарда долларов, и ряд компаний, например, QNX, уже демонстрируют бортовые информационно-развлекательные системы на основе HTML5.
Open Web Platform поддерживает геолокацию, позволяя разработчикам создавать картографические приложения и автоматические путеводители, но это только верхушка айсберга. Приложениям для смартфонов сейчас недостает сведений об окружении, необходимых для повышения безопасности вождения. Как решить эту проблему, какие технические изменения понадобится внести в стандарты WWW? Можно ли создать интерфейсы программирования, работающие независимо от того, исполняется ли приложение на телефоне или бортовом компьютере автомобиля? В W3C ведут дискуссии с производителями автомобилей о том, как интегрировать «умные» технологии в автомобили с поддержкой безопасного взаимодействия в режиме hands-free и возможности распознавания условий вождения.
Правительство
Правительства связываются с гражданами через Web еще с 90-х годов для упрощения поиска информации от различных ведомств, сделав ее более доступной и понятной. Некоторые данные, бланки и публикации, раньше предлагавшиеся в бумажном виде, сейчас доступны только через Web. Сегодня больше людей могут контактировать с властями и по большему числу каналов. Все больше правительств присоединяются к инициативам раскрытия данных. Национальным, региональным и местным властям во всем мире стало проще делиться информацией с гражданами, а также друг с другом. В конечном счете в демократическом обществе у всех граждан должен быть обязательный доступ к государственным данным. Технология Linked data предоставляет стандартные средства межведомственного обмена данными, упрощая процессы взаимодействия государственных учреждений.
***
Превращаясь в открытую платформу, Web переживает сегодня переломный этап своего развития. Эта платформа используется для создания высокоинтерактивных и социальных приложений для все большего числа устройств, ее берут на вооружение во многих отраслях, вследствие чего к Web «подключаются» самые повседневные объекты. Open Web Platform включают в себя множество технологий с различными уровнями зрелости, широты применения и стандартизации. Перспектива охвата огромной аудитории пользователей большого числа устройств является движущей силой, благодаря которой открытая платформа Web продолжает трансформацию всех отраслей.
Джефф Джаффе (jeff@w3.org) — директор, Филипп Ле Эгаре (plh@23.org) — руководитель отделения по технологиям HTML5, CSS3, SVG, WOFF и Web API, Ян Джекобс (ij@w3.org) — глава отделения World Wide Web Consortium.