Не рожденный HTML5

HTML5? От чего такая суета вокруг еще не рожденного и не стандартизированного «нечто»?

Чьим сыном будешь?

HTML5 — это праправнук языка, созданного в далеком 1990-м году. Величие его отца HTML4, приведенного к стандарту в 97-м, сложно описать словами. Многие буквально выросли на «четверке». Но, времена меняются, потребности увеличиваются, а стандарты и возможности языков неотвратимо устаревают и отмирают.

html5

Следуя за своими непосредственными предшественниками, HTML 4.01 и XHTML 1.1, HTML5 отвечает всем требованиям, для которых HTML и XHTML используются во всемирной паутине.
В 2004 году XHTML 2.0 вовсю разрабатывался World Wide Web Consortium (W3C), но в 2009 W3C опустил руки и признал, что за 5 лет работы сроки у рабочей группы истеки, и разработку приостановили. Дела у отца HTML5 были ничуть не веселей, чем у XHTML 2.0, «четверка» не видела обновлений с далекого 2000 года.

Зарождение

Прогресс не останавливается ни на секунду, и гонка «вооружений» кажется бесконечна. Развитие различных интернет «таблеток» и всяческих мобильных устройств вызывает оправданное желание одарить Flash’ем каждого пользователя. Вот тут и возникает дилемма: иметь Flash хочет каждый, а CPU мобильных ARM процессоров, из-за низкой производительности, не дает наслаждаться Flash’ем в полной мере. На большинстве мобильных устройств, как ни странно, Flash «съедает» все доступные ресурсы, а с ними и батарею заодно.
Причинами зарождения мыслей, отказаться от этой «не перевариваемой таблетками» технологии, стали невозможность, а может простое нежелание Adobe оптимизировать свой продукт под тысячи устройств, десятки браузеров и кучу OS. Вот тут и начинается современная история HTML5.
В 2004 году началась работа над нечто новым и революционным, работа над тем, что будет нести добро в сердца людей и радовать глаз. В этом году началась работа над новым стандартом, рабочая группа по разработке Гипертекстовых Прикладных Технологий в Веб (WHATWG) создала эмбриона, «малыша» HTML5. Кстати разработка XHTML 2.0 не возобновлена по сей день из-за того, что силы рабочей группы, разрабатывающей XHTML, брошены на HTML.
В настоящий момент «малыш» все еще в процессе взросления и стандартизации, но на его плечах уже лежат надежды «спасителя».
6 лет HTML5 рос в тишине и спокойствии, монотонно обрастая синтаксическими особенностями, элементами, обогащающими семантическое содержимое документов, и такими фундаментальными частями спецификации, как API и DOM. Но в недалеком 2010 году спокойствие HTML5 нарушили СМИ, в апреле месяце он стал одной из центральных тем обсуждения.

Дебаты

Шумиха в СМИ привлекла внимание главы компании Apple Inc Стива Джобса. Он написал публичное письмо с заголовком: «мысли по поводу Flash», где он заключил, что разработка HTML5 освобождает от необходимости смотреть видео или использовать другие типы приложений с помощью Adobe Flash. Ведь недружелюбные отношения с неоптимизированным Flash’ем для OS Apple зародили надежды на грядущий «вкусный» HTML5 в сердцах «яблочников».

дебаты

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

Одно большое?

Каждый может поинтересоваться: «Как я могу использовать HTML5, если не все обновляют браузеры, а старые браузеры его не поддерживают?». На самом деле вопрос некорректен, и в корне ошибочен. HTML5 — это не одна большая вещь, это разные возможности, собранные воедино.
Можно думать об HTML5 как о куче тэгов и угловых скобочек, это конечно очень важная часть, но не вся. HTML5 в своей спецификации так же устанавливает, как эти скобочки взаимодействуют с JavaScript, средствами объектной модели документа (Document Object Model, DOM). HTML5 не просто определяет тег < video >, он так же сообщает DOM обо всех подобных видео-объектах. Можно использовать интерфейс прикладного API для поддержки разных форматов, проигрывания видео роликов, отключения звука, контролирование загрузки файла и многое другое, основанное на использовании и взаимодействии пользователя тега < video >.

Надежды

«Даже как инновационное продолжение, продвижение HTML5 в «Рекомендуемое» обеспечивает всю веб-экосистему стабильным, проверенным и взаимодействующим стандартом. Решение наметить внедрение HTML5 в Last Call в мае 2011 года было важным шагом для урегулирования производственных ожиданий. Сегодня мы сделали следующий шаг, объявив о намерении осуществления цели с получением рекомендации к 2014 году».
—Джеф Джэйф, Генеральный директор W3C

От чего на плечи HTML5 упало столько надежд? Давайте посмотрим на «обновки», которые HTML5 принесет в веб.

• «Оффлайн» хранение данных в браузере – веб-хранилице, локальные БД
• Поддержка аппаратного ускорения
• Canvas 2D API
• Междоменное взаимодействие (Cross Domain Messaging)
• «Drag-and-drop»-функционал
• Работа с сетью – веб-сокеты
• Определение местоположения (Geolocation) (https://www.w3.org/TR/geolocation-API/)
• Новые типы полей форм
• Новые теги и атрибуты – обновляем базы сигнатур IDS и WAF
• Веб-хранилище — мощная альтернатива кукам

no flash

Влияние на веб-архитектуру

Предполагается, что на веб-архитектуру окажут влияние следующие области/возможности, определенные в HTML5:

• Использование DOM в качестве основы для описания языка.
• Концепция окружения браузера.
• Разделение требований к агентам пользователей и авторам HTML-документов.
• Использование обязательных определений вместо абстрактных определений с требованием эквивалента «чёрного ящика» при реализации.
• Новая концепция модели содержимого (взамен концепции строчных и блочных элементов в HTML4).
• Рассмотрение доступности как неотъемлемой концепции для создания новых возможностей (таких как: атрибут hidden, элемент progress и т.п.) вместо каких-либо расширений (к примеру, атрибута alt).
• Подробное определение семантики (например, алгоритма outline, взамен его нечёткой семантики в HTML4).
• Элементы menu и command.
• Основополагающие идеи.
• Оффлайн-кеш веб-приложений.
• Определение алгоритма контекстной навигации в браузере (browsing context «navigation» algorithm) и связанных с ним алгоритмов просмотра истории сессий (session history traversal algorithms).
• Контроль типов содержимого и кодировок.
• Очень строгое и недвусмысленное описание парсера.
• Возможности contentEditable и UndoManager.
• Архитектура Drag&Drop и Copy&Past.
• Новые возможности «sandbox» («песочницы», учебно-экспериментальных сред) для iframe.

Послесловие

Еще не рожденный HTML5, но уже всеми ожидаемый стандарт, пока не завернутый в подарочную упаковку и неподаренный интернет сообществу, но уже проникающий в наше веб-окружение. Примером может служить такой гигант, как Youtube, он добавил поддержку HTML5 еще в 2010 году, в качестве стандарта для видео был выбран кодек H.264.
Apple уже обеспечивает поддержку HTML5 в Safari, на Mac и всех своих мобильных устройствах. На сайте можно ознакомиться с примерами реализации работы (https://www.apple.com/html5/)

apple-html5

Генеральный менеджер Adobe Дэнни Винокур опубликовал сообщение в своем блоге, в котором раскрыл пользователям планы компании продолжить развивать и поддерживать широко используемую веб-медиа платформу.
(https://blogs.adobe.com/flashplatform/2011/09/flash…html)
За два дня до этого Microsoft, как и Apple, отказалась от поддержки технологии Flash в новом браузере Metro IE10, приведя сходную аргументацию. В одной из двух разновидностей браузера Internet Explorer, поставляющихся в пакете с ОС Windows 8, не будут поддерживаться модули расширения, в частности Adobe Flash.
Opera тоже старается не отставать от прогресса. В 12 версии нам обещают поддержку аппаратного ускорения, и прикрутить новый анализатор HTML5.

А что дальше?

HTML5 будет закончен к 2014, а что будет дальше? World Wide Web Consortium в феврале сие года дал зеленый свет на начало использования HTML5 и указал примерные сроки окончания разработки у себя на сайте (https://www.w3.org/News/2011.html#entry-9015). Окончание ожидается к 14-му году, а что дальше? Технологии ведь не стоят на месте, аппаратная часть будет развиваться семи мильными шагами, а софт только и будет поспевать, догоняя.
2014 г. может показаться очень далеким, но это обнадеживающе, чем 2022 г., который никогда не был официальной датой, но часто цитируется как дата, на которую нацелена W3C. Если HTMLWG достигнет своей цели, 2014 г. будет годом, когда мы получим первое официальное обновление спецификации HTML с тех пор, как вышел HTML 4.01 в 1999 г.
Что получит бурное развитие с приходом нового стандарта? Скорее всего, телевидение. Телевидение в вебе принесет новый набор требований — возможно, новые теги, новые API и даже новую платформу для их внедрения.

online tv

Можно сколько угодно долго разводить «холивары» по поводу того, что HTML5 не может пока полностью функционально заменить Flash, что он недоразвит и в полной мере его использовать нельзя. Но жить стандартом, обновленным последний раз в «бородатом» 99 году, это не разумно, а в HTML5 заложен огромный потенциал, который возможно избавит нас от проблем отображения контента на разных устройствах, приведя сайты и веб-приложения к единому стандарту.