Статьи

HTML 5 и Adobe Flash: война в цифрах и фактах

Евгений Лебеденко / 19.05.2010 / 14:45

Стоит разобраться, для чего успешным компаниям нужна эта война, к чему этот передел мира и что произойдет в случае победы любой из сторон

Язык HTML 5 - стандарт, претендующий на роль эсперанто для всех веб-браузеров. Его черновая спецификация, появившаяся в январе 2008 года, была призвана продемонстрировать сайтостроителям, что они имеют выход из запутанного лабиринта стандартов, которыми был нафарширован процесс разработки красочных, интерактивных веб-страниц. Что вместо замысловатой комбинации HTML 4.01, JavaScript, Flash, Silverlight, AJAX и иже с ними можно обойтись всего одним диалектом. На котором все разработчики сайтов прекрасно разговаривают, но который получил новые возможности, делающие этот разговор более живым и образным.

Цель, как ни крути, благая. Только вот сейчас HTML 5 ассоциируется не с прогрессом и просвещением, а со скандалом. Противниками в священной войне выступают гиганты, начинающиеся с «А»: компании Apple и Adode. А жертвой, которую пытаются уложить на лопатки, выступает всем известная технология Flash.

Apple и Adobe и прежде вступали в противостояние. Причем, как это чаще всего и происходит, после длительной и весьма плодотворной дружбы. Предыдущим яблоком раздора был язык описания печатных страниц PostScript, разработанный основателями Adobe Джоном Уорноком (John Warnock) и Чаком Гешке (Chuck Geschke). Прогрессивный для начала 80-х платформонезависимый язык PostScript был полнофункциональным и интерпретируемым, что позволяло описывать сложное шрифтовое оформление и графику на страницах, печатаемых лазерными принтерами. Возможно, PostScript так и не стал бы легендой, а Adobe осталась одним из многочисленных неудачных стартапов, если бы компания Apple, переживающая в то время серьезный кризис жанра, не проинвестировала этот проект. Взамен она получила PostScript-контроллер для своей линейки лазерных принтеров Apple LaserWriter. Что дала эта инвестиция – известно каждому. Apple надолго заняла нишу настольных издательских систем, а Adobe превратился в софтверного гиганта, создавшего непотопляемые Photoshop, PDF и, собственно, сам Flash.

Причина первого конфликта бывших союзников банальна: Adobe требовала изрядные лицензионные отчисления за аппаратный интерпретатор PostScript, устанавливаемый в каждый лазерный принтер Apple (и не только), что существенно удорожало их. А значит, снижало и спрос.

Технология PostScript - первая удача и первый крупный проигрыш Adobe на массовом рынке. В числе противостоявших ей была и компания Apple

В поисках бесплатной альтернативы Apple объединилась с Microsoft и Hewlett-Packard. Результатом стал язык PCL, использующий обычные TrueType-шрифты. Именно внедрение PCL вытеснило Adobe с широчайшего благодатного поля бытовых лазерных принтеров в более узкий мир профессиональных типографских систем. А популярность любой технологии, как и любая популярность вообще, зиждется на поддержке широкой публики.

В настоящее время в полном объеме развернута баталия за другую технологию Adobe, благодаря которой компания фактически ассоциируется с интерактивной и мультимедийной составляющей Сети.

Технология Flash, попавшая к Adobe в результате цепочки финансовых поглощений, до недавнего времени была краеугольным камнем двух важнейших веб-направлений: воспроизведение потокового аудио и видеоконтента (формат FLV) и область интерактивной графики, анимации и игрового контента (формат SWF). Все, что требовалось для ее использования, – это дооснащение любого браузера плагином Flash-плеера, который и брал на себя функции работы с этими форматами. Получение и обновление этого плагина выполняется быстро и фактически прозрачно для пользователя, а возможности Flash настолько широки, что на их основе начали свое триумфальное шествие такие гиганты, как YouTube.

Диалоговое окно обновления Flash-плеера надолго поселилось в системах миллионов пользователей

Так зачем же компаниям нужна война, если технология удачная и вполне успешная?

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

И если по поводу первой причины еще можно поспорить (Adobe, ощущая давление со стороны конкурентов, в 2008 году частично открыла спецификации SWF и FLV), то вопросы производительности Flash на различных платформах легко проверить эмпирическим путем.

Но почему в качестве убийцы Flash выбран именно HTML 5? Ответ на этот вопрос лежит как в его возможностях (детально, кстати, рассмотренных здесь), так и в том, что реализация воспроизведения видео и интерактивности веб-страниц силами только HTML 5 избавит браузеры от необходимости иметь в своем арсенале Flash-плеер, который является собственностью и закрытой разработкой Adobe.

Ответ на вопрос «Что такое HTML 5?» прост: универсальность и открытость

Многие считают неправильной зависимость качества воспроизведения контента в Сети от прихотей одной, пусть и очень уважаемой компании.

Именно этот аргумент был основным в открытом письме главы Apple Стива Джобса, где слово «Open» стоит в непосредственной близости от слова «First».

Разве это не напоминает PostScript-баталию, приведшую к уходу Adobe с поля домашних принтеров? В случае с Flash потеря Adobe будет намного существенней - целый безбрежный интернет.

«КПД, как у паровоза...»

А что же производительность Flash? Неужели технология, покорившая своими возможностями весь мир, для реализации этих возможностей безмерно пожирает все ресурсы компьютера? И насколько внедрение HTML 5 станет эффективным для сбережения ресурсов?

Ответы на эти вопросы, к счастью, можно получить вполне наглядные.

Причем именно благодаря разгоревшейся войне «HTML 5 vs Flash». Все дело в том, что множество интернет-ресурсов, распространяющих контент в формате Flash, решили предложить пользователям альтернативный его просмотр в формате HTML 5.

Закоперщиком в этом начинании стал сервис YouTube, постепенно переводящий свой гигантский видеоархив на рельсы HTML 5. Чтобы воспользоваться альтернативной услугой, нужно перейти по этому адресу и включить тестовый режим просмотра HTML 5.

Практически аналогичным образом поступил второй по величине гигант видеоконтента – сервис Vimeo, предлагающий, правда, переключение просмотра Flash/HTML 5 отдельно для каждого ролика.

По оценкам аналитиков, на данный момент более 26% потокового видео реализовано с использованием кодека H.264. То есть готово работать с HTML 5.

Стоит отметить, что насладиться благами HTML 5 получится не во всех браузерах. В настоящее время поддержку пятой спецификации HTML осуществляют только Google Chrome, Apple Safari и Internet Explorer от Microsoft – правда, на «допинге» в виде бесплатного плагина Google Chrome Frame.

Воспользуемся же возможностью просмотра одного и того же YouTube-ролика в двух противоборствующих форматах и поглядим, так ли прожорлив Flash, как его малюют, и так ли ангелоподобен HTML 5.

Чтобы отследить загрузку памяти и центрального процессора в браузерах Chrome и Internet Explorer, работающих под управлением Windows 7, воспользуемся авторитетной утилитой Process Explorer, разработанной компанией Sysinternals, основанной Марком Русиновичем, а ныне принадлежащей Microsoft.

Для работающего под управлением Mac OS X Snow Leopard браузера Safari запустим в программе Terminal консольную утилиту Top, отлично выполняющую функции диспетчера процессов.

В качестве главного показателя прожорливости обеих технологий возьмем процент загрузки ими центрального процессора (% CPU) при воспроизведении предварительно загруженного видеоролика и для того же ролика, стоящего на паузе. Дополнительно посмотрим использование технологий оперативной памяти.

Google Chrome с Flash-плагином

Первое, на что обратил внимание, - количество библиотек DLL, реализующих Shockwave Flash Player. Для воспроизведения одного ролика Chrome создает четыре потока NSWF32.dll, занимающие суммарно около 50 мегабайт оперативной памяти. Такой подход не случаен. Четыре параллельных потока на современных многоядерных процессорах более продуктивно декодируют видео, чем однопоточная программа. Как и следовало ожидать, на паузе Flash-плеер вообще не использует процессор. А вот в режиме воспроизведения в среднем занимает его на несущественные 8-10%. Маловато для пожирателя.

Google Chrome в режиме HTML 5

Запуск видеоролика в режиме HTML 5 показал, что теперь Chrome не нуждается во внешних библиотеках. Правда, для успешной работы он создал целых шесть потомков, которые оказались легковеснее Flash-плеера, заняв всего 30 мегабайт памяти. Воспроизведение видео загрузило процессор менее чем на 1% — отличный показатель!

Еще одним плюсом является возможность быстрой покадровой прокрутки ролика. А вот его качество в сравнении с Flash-вариантом снизилось. Невооруженным глазом видны довольно крупные артефакты.

Браузер Google Chrome одним из первых реализовал поддержку HTML 5

Internet Explorer с Flash-плагином

Internet Explorer давно уже стал мальчиком для битья в мире браузеров. И это несмотря на то, что до сих пор в 60% случаев именно его и используют для выхода в Сеть.

Работая с плагином Flash, Internet Explorer запускает четыре потока flash10c.ocx, загружающие процессор на ничтожные 4-6%. Самое интересное, что этот процент загрузки остается и при установке ролика в режим паузы.

Самым крупным проколом Internet Explorer является существенная загрузка оперативной памяти. 72 мегабайта для воспроизведения одного ролика - это слишком.

Internet Explorer с Google Chrome Frame

Работа Internet Explorer с HTML 5 напоминает пробежку на тщательно завуалированных протезах. Ведь, по сути, Google Chrome Frame не что иное, как плагин, подобный плееру Flash. Но разница между технологиями все же есть. В первую очередь разница в производительности. Как ни крути, декодер видео на базе HTML 5 практически не потребляет процессорного времени и обходится всего одним потоком. Да и оперативной памяти он пожирает почти на 10 мегабайт меньше. Он настолько эффективен, что увидеть отличия в режиме воспроизведения видео и паузы не представляется возможным. Можно помечтать и представить, как будет работать HTML 5 в девятой версии IE. Пока же можно поиграться с Preview-версией IE 9.

Браузер Google Chrome одним из первых реализовал поддержку HTML 5

Перейдем от Windows-браузеров к их NIX-собратьям.

Safari работает под управлением Mac OS X, в которой урчит мотор UNIX BSD. Как же он справляется с Flash и его конкурентом?

Safari с Flash-плагином

Mac OS X, как и положено UNIX-системам, работает с процессами. Процесс Flash-плагина представляется как WebKitPlugin и работает совместно с процессом Safari.

И если на паузе эти процессы потребляют около 13 процентов CPU, то воспроизведение видео отнимает целых 48%. Задумайтесь: практически половину мощного двухъядерного процессора съедает прокрутка одного видеоролика. И при этом эти два процесса «кушают» 110 мегабайт оперативной памяти. Рекорд для проводимого эксперимента.

Safari в режиме HTML 5

Просмотр видео в режиме HTML 5 являет полную противоположность использованию Flash. Во-первых, с исчезновением WebKitPlugin объем занимаемой Safari памяти снизился до приемлемых 75 мегабайт. В режиме воспроизведения видео браузер задействует только 16% CPU, а установка видео в режим паузы снижает это значение до 2-3%.

Для браузера Safari технология Flash чересчур ресурсоемкая. Другое дело HTML 5

Мы рассмотрели сражение Flash и HTML 5 на настольных системах. А как обстоят дела с системами мобильными? Здесь возникают сложности. В настоящее время официально заявленной версией Flash для мобильных устройств является Flash Lite 3.1. Нашлепка Lite призвана пояснить, что с настольным Flash-плеером столько же общего, сколько у гаванской сигары и дамской папироски Vogue.

Максимум, что умеет делать Lite, - сносно воспроизводить SWF-файлы: например, несложные Flash-игры и анимацию. Все остальное ему дается с трудом. Но посмотреть в работе Flash на мобильной платформе нам все же удастся.

Напомним, что браузер MicroB у интернет-планшета Nokia N900 полноценно поддерживает Adobe Flash версии 9.4.

Правда, назвать операционную систему Maemo 5 мобильной платформой язык не поворачивается. Скорее это полноценный Linux, упакованный в компактный телефонный корпус.

Опыт использования браузера MicroB показывает, что он отлично справляется с воспроизведением Flash-видео. Но вот какой ценой?

Браузер MicroB платформы Maemo 5 - один из немногих мобильных браузеров с полноценной поддержкой Flash

MicroB в режиме Flash

Запустим в программе X Terminal знакомую по Mac OS программу Top.

MicroB в ней представляется процессом-демоном browserd и при остановке видео на паузу потребляет 3-4% времени CPU. Ситуация ухудшается с нажатием кнопки Play. К процессу browserd, воспроизводящему видеопоток, присоединяется процесс pusleaudio, отвечающий за звуковое сопровождение видео. Совместно эти два процесса потребляют 55% CPU! И это, напомним, на мобильной платформе, энергопотребление которой ограничено аккумулятором. Немудрено, что вдали от розетки Nokia N900 в режиме воспроизведения Flash-видео продержится не более часа.

Возможно, ситуация с ресурсоемкостью Flash на мобильных платформах изменится с реализацией ее десятой версии в операционной системе Android 2.2 (FroYo).

Браузер MicroB при воспроизведении Flash-видео серьезно нагружает систему. При этом FLV-файл временно сохраняется в папке tmp

Теория «яблочного» заговора

Проведенные эксперименты показывают, что на настольных системах под управлением Windows технология Flash достаточно безобидна (даже в альянсе с Internet Explorer). Она, конечно, значительно более ресурсоемка, чем HTML 5, но все же не настолько, чтобы воспылать к ней ненавистью.

А вот на UNIX-системах, в частности на Mac OS X, ее реализация не столь безупречна. Если вспомнить, что iPhone OS - это также вариация на тему UNIX BSD, то становится понятно, почему Apple и Adobe в течение трех лет не могут найти компромиссного решения с полноценным Flash в Safari на iPhone. Реализовывать Flash ради наличия самого Flash, не взирая на ее прожорливость, попросту нерационально. Тем более что вполне разумная альтернатива в лице HTML 5 дает практически те же результаты.

Удачный дебют iPad, являющимся с точки зрения операционной системы тем же iPhone, в течение месяца создал миллионную армию планшетных веб-серферов. И Apple не может не учитывать этого. Сократите вполне реальные 10 часов работы iPad до 3-4 в режиме просмотра Flash-видео – и второй миллион поклонников iPad не наберется никогда.

Возможно, со стороны Apple это меркантильный подход в стиле «всего лишь бизнес – ничего личного», но терять с такой заботой взращенную аудиторию фанатов глупо и расточительно.

Вот поэтому, пользуясь своим крепнущим влиянием на IT-рынке, Apple фактически продавливает стандарт HTML 5. Достаточно глянуть на внушительный список сайтов, готовых для работы с iPad. Большинство из них разработаны на HTML 5.

Кстати говоря, для самого стандарта HTML 5 такое проталкивание пойдет только на пользу. Консорциум W3C, который ведет его разработку, известен своими бесконечными заседаниями, не приводящими к практическому результату. А вот вывод языка в свет быстро выявит его огрехи и позволит их оперативно исправить.

Другое дело, что, наступив на горло Flash, Apple рубит сплеча по всем фронтам и искореняет технологию на корню. Например, опубликовав запрет на использование кроссплатформенных средств разработки программ для iPhone/iPad в новой редакции SDK iPhone OS. А ведь Adobe вложила массу творческой энергии в создание Photoshop CS5, позволяющего, кстати, портировать Flash-приложения на iPhone OS.

Победа будет за нами?

Кто будет победителем в затяжной интернет-войне технологий?

Наверное, согласиться с мыслью одного из разработчиков WWW Тима Брея (Tim Bray), высказанной в его статье «HTML5 and the Web». При наилучшем исходе HTML 5 займет доминирующее место в Web, будет поддерживаться массой разработчиков и подкрепляться разнообразным инструментарием разработки. При наихудшем исходе этот язык не победит, завязнув в корпоративных интригах и задумчивости консорциума W3C. При этом Web не изменится и Flash останется в нем место.

Ссылки

Пример реализации потокового видео силами HTML 5

Пример интерактивного контента в HTML 5

Лицензионное соглашение видеокодека H.264, основы потокового видео HTML 5

blog comments powered by Disqus
Обратная связь
Имя
E-mail
Сообщение:

Отправить