Как-то довелось прочесть в "КВ" небольшой материал, рекламирующий возможности HTML5. К сожалению, статья не блистала конкретикой, хотя и была насыщена восторженными откликами и высказываниями специалистов, таких, как Стив Джобс. Критиковать тут, конечно, нечего, поскольку журналист всего лишь сделал обстоятельный и скрупулёзный перевод статьи из солидного западного техноресурса.
Но, думается, читателю было бы интересно узнать, а чем же, в действительности так хорош HTML5, и почему вокруг него так много шума? И чем разработчикам так насолила технология Flash, от которой многие из них дружно отказываются? Попробуем в этом разобраться.
Сегодня даже обычные пользователи компьютера знакомы с языком разметки гипертекста HTML и представляют себе его основные функции, заключающиеся, собственно, в форматировании текстовой информации, картинок и видео в окошке браузера.
Поскольку секрет технологии HTML прост, как грабли, её основы легко освоить за пару дней, и для этого не требуется делать длительные экскурсы в эпоху Тима Бернерса Ли, чем так любят заниматься создатели различных пособий. Достаточно понять, что различные виды форматирования обеспечиваются специальными знаками, которые называются тегами. Именно с тегов и начинаются отличия новой версии языка разметки гипертекста от старой.
Большинство читателей нашего издания, если уж и не создавали сайты самостоятельно, то отлично знакомы со структурой большинства из них. Они (как правило) состоят из шапки, ленты навигации, контентной части и подвала.
Естественно, что части эти, для порядка, обозначаются соответствующими английскими терминами - header, nav, article, footer. Разработчики взяли и превратили эти необязательные обозначения в новые теги, которые упрощают вёрстку сайта и помогают сделать его структуру семантически грамотной и стройной.
Хотите создать навигационное меню? Пожалуйста! Маркируйте его тегом <nav>...</nav>, и браузеры вас поймут. Зачем писать в коде страницы комментарии-пояснения о том, что начинается "подвал" страницы? Обозначьте его тегом <footer>...</footer> и это поймёт не только браузер, но и ваши коллеги, которым впоследствии придётся править HTML на сайте.
Так будет проще разобраться с отображением страницы браузерам мобильных устройств, да и поисковики тоже не будут искать и индексировать контент в шапке или в меню навигации. Они сразу перейдут в зону, выделенную тегом-контейнером <article>...</article>.
Между прочим, все упомянутые мною теги - блочные. И для каждого из них можно создавать собственные стили CSS, как для тега <div>...</div>, в который разработчики любят запихивать упомянутые выше разделы сайта. Есть и другие интересные теги - объединяющие: aside, section, hgroup (последний объединяет заголовки).
Тег time выводит определённую дату в формате день-месяц-год (С учётом часового пояса) <time datetime=2013-01-14>14 января 2013</time>. Добавляем атрибут T и после него можно указать конкретное время и часовой пояс <time datetime=2013-01-14T14:00+4:00>. Ещё один атрибут - pubdate поможет объяснить поисковикам, что эти цифры - не что иное, как дата публикации статьи.
Тег figure позволяет упростить описание изображения, а тег video (он особенно мне нравится) даёт возможность вставлять видео безо всяких идиотских атрибутов (вспомните или посмотрите длиннющие строчки для вставки видео на сайт) <video src=...> </video>. Можно также добавить элементы управления видео (атрибут controls), автозапуск (атрибут autoplay) или заставку (атрибут poster=адрес картинки).
Тег canvas позволяет (с помощью небольшого кусочка кода JavaScript) разместить на сайте простейшую форму для рисования, тег audio даёт возможность поместить аудио-файл простой короткой строкой <audio src=...></audio>.
Очевидно, что многие вещи организованы в HTML5 намного проще и красивее, чем в предыдущих версиях языка. Правда, есть такие консерваторы, которые уже сейчас заявляют, что и старый HTML работал неплохо, зачем же его менять на новый, создавать путаницу, заставлять разработчиков изучать обновлённый стандарт?
Я бы ответил так: это прогресс, детка, ничего тут не попишешь! Можно, конечно, и сегодня писать программы на Бейсике и Алголе. Но разработчики давно перешли на более удобные языки, отвечающие современным требованиям программирования. Придётся переходить на них и тем, кто не слишком этого хочет.
А в чём же интрига с Flash? Дело в том, что сайты и даже игры на HTML5 по качеству уже не уступают аналогичным на Flash. При этом они загружают каналы и мощности процессоров не так сильно (вспомните сайты на Flash, которые порой запускаются довольно долго). Кроме того, для корректной работы HTML5 не нужно качать и устанавливать какие-либо плагины. Вдобавок ко всему, HTML5 легко подвергается поисковой оптимизации, чего о Flash не скажешь. Из Flash не копируются картинки и текст, по тексту нельзя вести поиск средствами браузера...
Конечно, пока не решены и проблемы HTML5. Например, Flash будет одинаково отображаться во всех браузерах, а вот с HTML5 могут возникать определённые проблемы. Хуже у HTML обстоит дело с анимацией и видеопотоками - здесь пока ему до Flash очень далеко. И, тем не менее, HTML5 успешно конкурирует с продуктом Adobe. Как известно, компания Apple, с подачи незабвенного Джобса, давно отказалась от использования Flash в пользу HTML5. Основными причинами были названы высокая требовательность плагина к ресурсам и низкая его стабильность.
Сейчас трудно сказать, какое будущее ждёт HTML5. Слишком уж изменчива и динамична нынешняя мировая веб-индустрия. Да и стандартизация HTML5 ещё не завершена. Пожелаем новому стандарту успешного развития, ведь он, создавался для того, чтобы облегчить и улучшить процесс веб-строительства и вполне для этого подходит.
Эдуард ТРОШИН
Комментарии
Джобс не любил флеш по причине что первые Iphone обладали не самым навороченным и по тем временам процессором. Если внимательно смотрели презентацию 10 летней давности у Iphone браузер подглючивал, хотя все остальное работало плавно. Код был вылизан. И HTML5 - еще одно зло придуманное маркетологами с целью сбыта мощных цифромолотилок. Это сговор производителей железа и софта. Маркетинг.... Хотя нужно признать, при нормальном использовании он хорош.