Автор: Евгений Рыжков Дата публикации: 21.09.2010

Про HTML5 написано и сказано много. Одни его считают прекрасным и, захлебываясь от восторга, расписывают светлое будущее. Другие называют его заранее устаревшим и не отвечающим требованиям рынка. Но давай попробуем ответить на вопросы: зачем вообще появился HTML5, какие задачи перед ним ставили создатели и какие проблемы он должен решить?

Причины

Начало XXI века. Отсутствие мобильника и email воспринимается как нонсенс, в продажу поступает Windows XP, шокирует спецэффектами «Матрица», по всему миру проходят кибер чемпионаты. И на фоне всего этого скучный, статичный Веб: он не может дать мощи десктопного ПО, яркости телевидения и только завидует динамике и интерактивности компьютерных игр. HTML 4 просто не был создан для решения таких задач. А зря. Ведь народу подавай зрелища. А там где народ, там и деньги.

начало 21 века: windows xp, кибер спорт, матрица

Эти пробелы HTML 4 восполнили различные дополнения, вроде Flash, Java, Silverlight, Air разработанные сторонними компаниями. Эти технологи, а так же javascript с использованием XMLHttpRequest (AJAX) вывели Веб на новый уровень: сайты перестали быть просто страничками для чтения. Теперь сайт может быть таким же эффектным как телевидение и не менее интерактивным, чем компьютерные игры. Вспоминаем приложения от Google, Youtube, eBay. Тогда-то и начал широко использоваться термин RIA.

Rich Internet application (RIA, «богатое интернет приложение») — это приложение, доступное через Интернет, богатое функциональностью традиционных настольных приложений, не поддерживаемой браузерами непосредственно.

Но не всех устраивает такая реализация веб приложений. И вот почему:

  • внешние дополнения требуют установки, как правило достаточно «тяжелые», практически не поддаются индексации и не способны работать на всех без исключения доступных пользователям устройствах. В итоге получаем ограниченную доступность из-за чего страдает пользователь;
  • сейчас многие javascript-решения стали обычным делом (например, проверка валидности полей формы, вызов календаря). Реализация подобных возможностей полностью лежит на веб разработчике. А где присутствует человеческий фактор, обязательно есть ошибки и в итоге снова страдает пользователь.

Отцы HTML5 во главу ставят не производителей браузеров, не веб разработчиков, а именно конечного пользователя. Поэтому и задачи ставились перед языком такие, чтобы максимально выиграл пользователь.

счастливый пользователь

Основные цели HTML5

  • внедрить все необходимые внешние дополнения внутрь самого языка HTML и попросту перевести его на следующий уровень. То есть HTML5 сводит к минимуму необходимость использования дополнительных технологий или плагинов;
  • доступность для всех — это от части следствие предыдущего пункта: чем меньше дополнительных плагинов требуется, тем больше вероятность, что пользователь сможет работать в полном объеме с веб приложением.

    Вторая составляющая этой цели — это чистый логически правильный (семантический) код. Это даст возможность более корректно обрабатывать HTML-страницы различными устройствами. Поисковым системам, должно стать проще анализировать страницы ведь код становится чище и вместо повсеместно используемых <div> и <span> появляются семантические теги вроде <header>, <footer>, <nav> и т.д. А такие теги как <video> и <audio> позволят индексировать видео и звукозаписи. Как результат поисковики смогут выдавать более релевантные ссылки в результатах поиска. По крайнее мере они так заявляют;

  • обратная совместимость — максимально модифицировать уже имеющийся стандарт HTML 4.01 и при этом суметь сохранить уже имеющийся код браузеров. Т.е. если сейчас некоторые разработчики начнут использовать HTML5, старые браузеры смогут его прочитать и понять из него столько сколько знают. При этом сайт в целом будет работоспособным, а для старых браузеров можно продублировать функционал по старинке (javascript/flash);
  • формализация обработки ошибок — ошибки кода в HTML 4.01 браузеры обрабатывали кто как. Иногда это приводило к непредсказуемым и нежелательным результатам в виде поломанных HTML-страниц и «падений» браузера. С приходом HTML5 появляются четкие алгоритмы от разработчиков языка, что конкретно делать при возникновении той или иной ошибки. Это должно сделать веб приложения более стабильными, а поведение браузеров предсказуемым;
  • упростить синтаксис — код станет меньше и проще. Из слов Яна Хиксона (редактор HTML5): Будем надеяться, что мы сможем создать правила, в которых синтаксис будет более понятным и способствующим созданию более качественной разметки. К тому же многие вещи станет делать гораздо легче.

Цели очень даже благородные. А какие конкретно выгоды получим мы с тобой как пользователи веб и как веб разработчики?

Что принесет HTML5 пользователям

Получим более интересные, удобные и быстрые сайты:

  • HTML код становится легче, а значит быстрей загрузится страница;
  • нет дополнительных плагинов, а значит не нужно ничего устанавливать и подгружать;
  • более интересные и интерактивные сайты, при меньшем количестве javascript и AJAX запросов;
  • удобство при работе с приложением независимо от используемого устройства (это конечно в идеале);
  • менее требовательные приложения к мощностям устройства пользователя (анимации, проигрывание видео и аудио с помощью HTML5 требуют значительно меньше ресурсов, нежели flash);
  • в поисковых системах будем получать более релевантные результаты на свои запросы;
  • более отказоустойчивые приложения;
  • рождение первых Веб ОС и веб приложений с невиданной доселе функциональностью.

Что принесет HTML5 веб разработчикам

Однозначно пока тяжело сказать, ведь реально его пока мало кто использует. Но попробую «предсказать». Преимущества:

  • код станет чище и логически более понятным, а значит с ним станет проще работать;
  • некоторые вещи станет делать действительно проще, а значит повысится производительность труда;
  • проекты станут более сложными, а значит более интересными;
  • будет больше возможностей для творчества и самореализации для верстальщика (сейчас много чего «отнимают» флешеры и программисты);
  • если усложнится работа верстальщика, должна повыситься и его оплата труда.

А теперь о недостатках:

  • придется найти время и потратить его на изучение HTML5 (лично я это недостатком не считаю);
  • HTML5 менее строг к синтаксису (например, можно не ставить закрывающих тегов) и это может нас вернуть к кошмарному коду начала двухтысячных годов;
  • работа верстальщика может станет более сложной и больше похожей на работу программиста нежели просто кодера, который нарезает картинки и размечает HTML код (тоже считаю плюсом);
  • с новой версией языка появятся новые баги, для борьбы с которым нужно будет искать новые решения (а как хорошо было с HTML 4.01, где почти на все проблемы уже есть куча готовых решений);
  • язык еще толком не пошел в массы, а уже есть много споров по поводу многих вещей (например, семантики и ее расширяемости). Как бы это не привело к очередным серьезным изменениям синтаксиса и правил в очередном апдейте языка;
  • если HTML / CSS / Javascript / браузеры продолжат развиваться такими темпами, как последние два-три года, то будет очень сложно успевать даже просто отслеживать новинки, не говоря уже об их изучении и применении;
  • HTML5 более прост и удобен не только веб разработчику, но и разработчикам автоматизированного ПО по созданию HTML кода. И когда такая программа появится на рынке (а она появится, дело только времени) это может существенно уменьшить объемы заказов для верстальщиков. По крайне мере на простые дизайны.

Как-то у меня недостатков вышло больше, чем преимуществ. Буду надеяться, что я чего-то не учел и ошибаюсь.

Итоги

HTML5 — это большой шаг вперед в мире веб разработок. Но не стоит его ждать как мессии, который придет и всех спасет. Он призван решить часть проблем веб разработчика, но он не идеален. Буду надеяться, что включение полноценной поддержки браузерами HTML5 не растянется на многие года, ведь даже сейчас HTML5 не удовлетворяет всех потребностей рынка.

html5 - это не мессия

Для себя же решил, что переходить на HTML5 буду уже сегодня. Сперва буду его апробировать на простых проектах, чтобы посмотреть что вообще из этого выходит: ведь 99% CMS даже с HTML 4.01 работают абы как. Если будет получаться, постепенно буду брать больше возможностей от HTML5: так и проще изучать новинку и безопасней для верстаемых сайтов.

Материалы

По теме