Технология Adobe Flash предоставляет разработчику уникальные возможности, которые невозможно реализовать никаким иным способом
Технология Adobe Flash (первоначально Macromedia Flash) появилась в те времена, когда будущее интернет-технологий связывали с плагинами для браузеров. В принципе, эта концепция до сих пор существует, но подключаемых модулей, которые были бы критически необходимы для типового серфинга, остались единицы. Один из них (и самый главный) — Adobe Flash. Его главная сила — в колоссальной распространенности, к тому же он предоставляет разработчику уникальные возможности, которые невозможно реализовать никаким иным способом.
В силу единства исполняющего модуля эта технология интерактивной Web-анимации могла долгое время оставаться над схваткой браузеров, что и обеспечило ей популярность у разработчиков и простых пользователей. Покупка корпорацией Google в ноябре 2006 года компании YouTube, которая для проигрывания видео использовала флэш-плеер, придала технологии новое ускорение, и сегодня ее распространение поистине грандиозно: флэш-плеер установлен не менее чем у 95% пользователей персональных компьютеров разных форматов.
Но новые времена бросают новые вызовы. Тяжелый удар был нанесен Adobe Flash лично Стивом Джобсом, отказавшимся пускать технологию на платформу устройств Apple. После этого многие поспешили списать ее со счетов. Однако она по-прежнему жива и даже прорвалась на вожделенные устройства iOS. Более того, в некоторых областях разработки у нее по-прежнему нет полноценных конкурентов.
Сегодня большинство разговоров о «скорой смерти» Adobe Flash связано с развитием ее основного конкурента — HTML5. Чтобы адекватно оценить ситуацию и перспективы той или иной технологии, нужно сделать простое упражнение — сравнить достоинства и недостатки соперников. К очевидным преимуществам Adobe Flash относятся:
- широчайшая распространенность: плеер поставляется в составе браузера Google Chrome и операционных систем Microsoft, что обеспечивает технологии столь необходимую поддержку рекламодателей;
- разнообразие сред разработки (помимо «родных» Adobe Flash и Adobe Flash Builder, это Intellij Idea, FlashDevelop, FDT, Realaxy ActionScript Editor, SWFTools, SWiSH MAX и др.);
- развитый API: современный объектно-ориентированный язык программирования Actiоn Script 3, похожий на Java;
- полноценный Apache Flex SDK с открытым кодом;
- единая платформа исполнения флэш-приложений и малые различия в поведении плееров на разных платформах, разработчик может быть уверен, что приложение, тщательно протестированное в каком-либо браузере, с большой вероятностью будет так же хорошо работать и на других;
- «привычность» для пользователей;
- весьма высокий уровень безопасности — обнаруживаемые ошибки быстро ликвидируются, а доля заражений через уязвимости флэш-плеера исчезающе мала.
Безусловно, недостатки у флэш-плеера тоже есть. Его ахиллесовой пятой была и остается чрезвычайно низкая скорость рендеринга больших объемов текста, который выполняется с заметным подтормаживанием и вызывает ощутимый дискомфорт. (Это почти не заметно на современных персональных компьютерах, но ощутимо на все еще медленной мобильной платформе.) Кроме того, внедрение новых, более современных кодеков для аудио/видео происходит не так быстро, как хотелось бы. И наконец, для некоторых групп разработчиков является проблемой закрытость платформы, хотя для основной массы пользователей это не имеет никакого значения.
Что касается преимуществ HTML5, большинство из них проистекает из преимуществ HTML как такового. Новшества пятой редакции стандарта направлены на компенсацию отрыва от Flash, а сама технология пока находится в состоянии разработки, недостаточно распространена и поддерживается не всеми браузерами. Стандартный единый IDE для создания HTML5-приложений тоже отсутствует, а набор элементов управления (controls) для разработки мультимедийных приложений (Rich Internet Application, RIA) у нее достаточно скромный. Зачастую можно обойтись чек-боксами и раскрывающимися списками, но когда требуется что-то более сложное, приходится использовать тот или иной специализированный фреймворк, например GWT.
Формирование HTML5 идет, мягко говоря, неторопливо в силу его «бесхозности»: стандарт как бы общий и... ничей. По своим функциональным возможностям технология HTML до сих пор не догнала Adobe Flash, будучи старше на целых 10 лет! При этом есть масса областей, в которых флэш остается безусловным лидером, и перспективы ее «упадка» весьма туманны, в том числе по следующим причинам:
- Доставка видеоконтента. Например, разработчики YouTube используют для основного плеера видеотехнологии Adobe Flash и будут это делать в дальнейшем, потому что HTML5 не предоставляет критического функционала, необходимого для отображения видео на компьютерах клиентов.
- Захват аудио/видео с камеры/микрофона. В данном случае главным конкурентом флэш-плеера является технология WebRTC, продвигаемая компанией Google. Технология в целом хорошая, использует современные кодеки и имеет открытый исходный код, но вряд ли она получит быстрое распространение в своей целевой группе — среди корпоративных клиентов. В старых браузерах она не поддерживается, а плановое обновление оборудования и браузеров в этом секторе происходит намного медленнее, чем на пользовательском рынке.
- Игростроение. Здесь Adobe Flash пока вне конкуренции — все браузерные игры, как и игры в соцсетях, сделаны преимущественно на флэш-технологии.
- Динамичная интернет-реклама. Анимация с помощью Adobe Flash делается — при наличии опыта — за считанные минуты. И до тех пор, пока не появятся удобные специализированные IDE для быстрого изготовления анимированных роликов, Adobe будет продавать свой Flash-редактор.
Подводя итоги, нельзя не признать, что позиции Adobe Flash в последние годы несколько ухудшились — вернее, конкурентам удалось немного сократить прежний колоссальный отрыв. При этом не стоит забывать, что для разных задач предназначены разные инструменты, и было бы неверно использовать Flash для решения тех задач, на которые нацелен HTML, и наоборот. Именно такой подменой объясняется львиная доля критики в адрес Flash как в прошлом, так и в настоящем. Однако это не является основанием для пессимистичных прогнозов. «Слухи о моей смерти сильно преувеличены», — сказал как-то Марк Твен. Решения, востребованные на рынке и не имеющие аналогов в ключевых областях, со сцены просто так не уходят.
Денис Грибов — ведущий разработчик компании Mind.