Часто бывает так, что до определенного момента ты не испытываешь потребности в чем-то новом, довольствуясь тем, что уже есть. К примеру, купил ты себе в 2004 году компьютер - с Radeon 9600 и Athlon 1800+ на борту. Прошел Half-Life 2, забыл об игрушках лет на шесть, используя свою систему для просмотра фильмов, музыки и посещения Интернета. И тут - бац! Выходит какой-нибудь Battlefield 3. И ты, отвлеченный от кодинга на своей старой машине, которая еще пару месяцев назад, несмотря на солидный возраст, тебя полностью устраивала, вдруг понимаешь, что все - срочно нужен апгрейд, причем дорогостоящий и всеобъемлющий. Процессор устарел, проги компилируются не так быстро как раньше, HD-рипы подтормаживают, а жалкая пара плашек по 256 МБ вызывает ностальгию по ушедшим годам студенчества.
Ты, естественно, снимаешь деньги с зарплатной карты, тратишь их на самое передовое железо, покупая его с запасом на будущее, и какое-то время наслаждаешься своей новой шайтан-машиной и заоблачным FPS в самых крутых и современных бенчмарках. Спустя полгода, привыкнув к своему новому убердевайсу, ты решаешь, что тебе необходим нетбук - выполнять заказы и «кодить» на даче куда приятней и полезнее, чем в душной московской квартирке. В итоге - часть зарплаты отметается на недорогой нетбук с мощным двуядерным процессором, двумя гигами оперативной памяти и емким жестким диском. Вроде бы, после такой покупки ты должен быть счастлив - есть и настольный комп, и более компактная замена на случай командировки или отпуска. Но вот вместо этого начинаются беды: курсор двигается медленнее, чем на домашнем монстре; программы компилируются целую вечность; о более-менее современных играх можно вообще забыть - на встроенном GMA3100 они даже не запустятся. И вот тут ты понимаешь, что глотнув новых возможностей, довольствоваться малым уже не получается - и даже юркий двуядерный Atom N570 будучи быстрее архаичного Athlon 1800+ выглядит тормозом, непригодным ни для чего другого, кроме как работы с документами. Ты расстраиваешься, пытаешься нормально работать за этим убожеством, но в сравнении с Большим Братом, этот нетбук не представляет собой абсолютно ничего дельного. Это частный случай, который великолепно подходит для описания ситуации сложившейся вокруг современных WEB стандартов. Старенький HTML 4.1 до недавнего времени удовлетворял всех, но внезапно он стал этими всеми нелюбим и ему вдруг потребовалась адекватная и современная замена в лице HTML 5, которую в данный момент и пытаются допилить до более-менее вменяемой кондиции тысячи WEB программистов по всему миру.
Предыстория
В начале 2000-х годов компания Macromedia стала активно продвигать свою платформу для разработки WEB приложений и мультимедийных презентаций под названием Macromedia Flash. На базе данной платформы создавались красочные 2D-игры, рисованные мультяшки, которые тут же разлетались по всевозможным «дискам с приколами», продающимся на ближайшем радиорынке. В то время Интернет пребывал в довольно юном возрасте - сайты не отличались богатым оформлением и хитроумным дизайном, все было очень просто, и создавалось, в основном, на языке HTML 4.1, которому к тому моменту исполнилось уже четыре года. Ну, а в самом деле - что в начале нового тысячелетия было в Интернете популярнее всего, кроме конечно, сайтов со взрослым контентом? Форумы, всевозможные чаты и кривые «домашние странички», сделанные по шаблонам на бесплатных хостингах. Пользователей это устраивало на все 100%. Интернет был, прежде всего, площадкой для общения и для источником для загрузки разномастного контента, хранящегося на удаленных серверах. Однако Flash открыл перед WEB программистами новые возможности, ведь с плагином-примочкой удавалось создать свой мультимедийный плеер для прослушивания музыки онлайн, а чуть позже - и просмотра видео. Рост аудитории в Интернете также подхлестнул разработчиков на создание браузерных игр на базе все того же Flash, так что в конечном итоге, интеграция данного стандарта в Интернет-приложения только усилилась. Сегодня, «проинсталлив» новую копию Windows и скачав браузер, первым делом для нормального отображения большинства современных и популярных сайтов вроде «ВКонтакте» или YouTube требуется Flash плагин, любезно предоставляемый компанией Adobe на главной странице их сайта. Казалось бы, не так уж и сложно пару раз в год обновлять Flash плеер, чтобы потом заниматься выращиванием репы на любимой «Ферме», или смотреть новую серию House M.D. онлайн. Но, к сожалению, прогресс не дает нам застояться на одном месте - развитие мобильной техники и различных мультимедийных Интернет-планшетов, вызвали вполне оправданное желание разработчиков мобильных ОС наделить поддержкой этого самого Flash свои устройства. Однако здесь и обнаруживается тот самый камень преткновения - производительность мобильных CPU архитектуры ARM далеко на такая высокая, как у настольных коллег, и на большинстве устройств, как ни странно, Flash поглощает все доступные ресурсы, а с ними и батарею в придачу. И если на планшетах с гигагерцовым Cortex А8, Flash хоть как-то ворочается, то для рынка мобильных телефонов и смартфонов, обладающих куда меньшими мощностями, дела у Flash были совсем плохи. В лучшем случае, «кулибины» в течении полугода умудрялись накодить преальфа версию Flash-плеера, которая либо не работала на 99% устройствах, либо работала так, что лучше не надо. Но, слушать музыку во «ВКонтакте» с бесплатным мобильным Интернетом все же интереснее, чем угрюмо читать новости и смотреть на медленно открывающиеся фотки. Одной из первых, кто открыто заявил, что на их устройствах поддержки Flash можно не ждать, стала Apple, которая официально открестилась от этого стандарта. Представленный компанией планшет iPad очень плохо работал с Flash по нескольким причинам: не самого быстрого ARM процессора и кривой реализации Flash в мобильном браузере Safari. Однако главной причиной столь резкого отказа стала именно что очень кривая поддержка Flash и нежелание Adobe оптимизировать свой продукт под сотни устройств, десятки браузеров и полдюжины операционных систем. Это было сложно, хоть и выполнимо, но Adobe решила забить на появившуюся проблему и оставить все как есть. Здесь-то и начинается современная история HTML5.
Нет альтернативы? Так мы ее сейчас придумаем!
Стандарт HTML 4.1, утвержденный консоциумом Всемирной паутины W3C еще в 1999 году, уже безнадежно устарел. К этому стандартному языку разметки чуть позже добавили целое семейство расширенных языков XHTML, чтобы хоть немного улучшить очень примитивные возможности старика HTML.
С 2004 года рабочая группа по разработке Гипертекстовых Прикладных Технологий в Веб и W3C начали свою совместную работу по созданию нового стандарта, получившего название HTML5 - причем надежды на него возлагают огромные. Дело в том, что данный стандарт будет универсальным, и объединит HTML, XHTML, D0M2HTML и JavaScript, создав идеальную платформу для разработчиков. Помимо объединения и стандартизации нескольких языков в рамках одного HTML5, он получит целую гору новых возможностей, библиотек, и при этом, требовать ресурсов будет гораздо меньше. Наконец, HTML5 позволит быстрее создавать мультимедийные приложения, и обзаведется весьма актуальными элементами вроде Audio и Video, позволив размещать контент на странице, и наделять его всеми элементами управления. То же самое касается и игр - теперь разработка красочных 3D игрушек с аппаратным ускорением специально под браузерную онлайн-стратегию или стрелялку, станет быстрым и недорогим занятием, что в скором времени наверняка скажется и на увеличении рынка браузерных онлайн 3D игр, и на увеличении популяции геймеров, которым наслаждаться шейдерной водой куда приятнее, чем слепнуть от пестрящей 2D графики. Так что со встроенными средствами для работы с графикой и мультимедиа можно забыть о дополнительных плагинах, Flash плеерах и надоедливой рекламе. Язык станет универсальным и максимально совместимым с целой кучей Интернет - ресурсов и со всеми браузерами, начиная от настольных версий, и, заканчивая мобильными крохами, предназначенными специально для телефонов или смартфонов начального уровня.
В 2009 году YouTube продемонстрировал тестовую видеостраницу, использующую HTML5 вместо Flash. Конечно, качество работы нового стандарта сложно было назвать идеальным, однако впервые за очень долгое время у Flash появился вменяемый конкуренте огромным потенциалом, и, в перспективе, с гораздо большими возможностями. В виду некоторых обстоятельств Microsoft, контролирующая со своим IE большую часть рынка, воротит нос от HTML5, заявляя, что не собирается поддерживать «неутвержденный стандарт». Но мы-то знаем, что на это у компании есть совсем другая причина - у Microsoft есть Silverlight, который она всячески поддерживает и старается продвинуть, создав конкуренцию не только HTML5, но и Flash. Однако продвижение это идет очень вяло, и если бы Microsoft наделила свои браузеры поддержкой HTML5, да еще бы и кое-что в них пофиксила, вполне возможно, что Internet Explorer не только бы сменил свой образ на положительный, но и в одночасье бы продвинул стандарт в массы, ускорив подведение всех остальных к единому общему знаменателю.
Тем временем, несмотря на частичную поддержку нового стандарта почти всеми современными браузерами, полноценно его использует лишь Safari-пользователи гаджетов Apple долгое время страдали от того, что не могли посмотреть любимый ролик на YouTube, или послушать музыку в потоковом вещании. И вот, буквально год назад, Apple официально добавила поддержку HTML5 в браузеры всех своих девайсов, а своевременный переход вышеуказанных сайтов на поддержку нового стандарта позволил пользователям полноценно гулять по Сети с iPhone или iPad. Спустя год HTML5 продолжает великолепно работать в браузерах Safari, практически полностью удовлетворяя пользователей, а количество сайтов с его поддержкой растет изо дня в день. Но даже сегодня, в конце 2011 года, HTML5 все еще не готов и находится на стадии разработки. На вопрос "когда?" ребята из W3C ехидно ухмыляются, разводят руками, и намекают на то, что им нужна еще пара - тройка лет для оптимизации и внедрения ряда улучшений. Так что, увы, придется подождать. Но даже в сегодняшнем виде HTML5 вполне пригоден для употребления. Более того, в середине следующего года, когда выйдет Windows 8, пользователи настольных ПК будут лишены поддержки Flash, поскольку Microsoft позаботилась о том, что бы этой архаичной, тяжелой и неповоротливой технологии не было в ее новом продукте. Так что очень может быть, что скоро HTML5 станет стандартом де-факто, даже будучи еще до конца не готовым и не стандартизированным продуктом. Во всяком случае, альтернатив у него будет совсем немного, да и те, что будут, наверняка звезд с неба не нахватают.
P.S. Тем временем Adobe совместно с Epic Games портировала движок Unreal 3.5 на Flash, «подвязав» аппаратную поддержку. Гоняя по огромной карте с рокет лаунчером наперевес, разработчики улыбались и хвастались, что теперь можно будет проводить Deathmatch зарубы прямо в окне браузера... Интересно, чем на это ответят W3C и WHATWG?..