Еда
Adobe Flash (ранее известная как Macromedia Flash), или просто Flash () мультимедийная платформа, используемая для создания векторной анимации и интерактивных приложений (в том числе, игр), а также для интеграции видеороликов в веб-страницы.
Adobe Flash позволяет работать с векторной, растровой и ограниченно с трёхмерной графикой, а также поддерживает двунаправленную потоковую трансляцию аудио и видео. Для КПК и других мобильных устройств выпущена специальная облегчённая версия платформы Flash Lite, чья функциональность ограничена в расчёте на возможности мобильных операционных систем и их аппаратных показателей.
В качестве основных средств разработки используются проприетарные пакеты Adobe Flash Professional и Adobe Flash Builder 4 (бывш. Adobe Flex Builder), позволяющие создавать интерактивные приложения (в том числе, веб-приложения, игры и мультфильмы).
Стандартным расширением для скомпилированных Flash-файлов (анимации, игр и интерактивных приложений) является .SWF ((Shocwave Flash) или Small Web Format). Видеоролики в формате Flash представляют собой файлы с расширением FLV (при этом Flash в данном случае используется только как контейнер для видеозаписи). Расширение FLA соответствует формату рабочих файлов в среде разработки.
Flash-контент воспроизводится с помощью целого ряда программных средств, но доминирующее положение на рынке занимает официальный проприетарный Adobe Flash Player, распространяемый в качестве бесплатного плагина для большинства современных браузеров. Также SWF-файлы можно просматривать с помощью различных свободных плееров, например, Gnash или swfdec. FLV-файлы воспроизводятся через Adobe Flash Player или через мультимедийные проигрыватели, такие как Quictime и Windows Media Player, при наличии соответствующих плагинов.
Технологии
В основе Flash лежит векторный морфинг, то есть плавное перетекание одного ключевого кадра в другой. Это позволяет делать сложные мультипликационные сцены, задавая лишь несколько ключевых кадров для каждого персонажа. Вопреки слухам, распространенным в интернете, производительность Flash Player-а при работе с анимацией превышает производительность браузеров (HTML5) в сходных задачах в несколько раз (результаты и тесты).
Flash использует язык программирования ActionScript, основанный на ECMAScript.
Flash Player представляет собой виртуальную машину на которой выполняется запускаемый из интернета код программы.
1 мая 2008 г. компания Adobe объявила о начале проекта Open Screen Project (open screen project). Цель проекта - создание общего программного интерфейса для персонального компьютера, мобильных устройств и бытовой электроники, что означает одинаковое функционирование одного приложения под всеми перечисленными видами устройств. В рамках проекта:
- Снимаются ограничения на использование спецификаций SWF и FLV/F4V.
- Публикуются API для портирования Adobe Flash Player на различные устройства.
- Публикуются протоколы Adobe Flash^ Cast4Ри AMF для сервисов данных.
- Упраздняются платные лицензии для Adobe Flash Player и Adobe AIR на устройствах. Ближайший их релиз будет бесплатным.
В поддержку проекта и распространение платформы Flash на мобильных устройствах на данный момент выступило 58 компаний, среди которых AMD, ARM, Google, HTC, Intel, Motorola, Noia, NVIDIA, QNX, Sony Ericsson и др.
Flash Player портирован на мобильную платформу Android, выпущены мобильные устройства с аппаратным ускорением flash-приложений (включая AIR-приложения).
Некоторые производители ПО для мобильных устройств пытаются заменить или ограничить распространение Flash на свои новые мобильные платформы:
- Apple на HTML5 для iPhone и iPad
- Microsoft на Silverlight для Windows Phone 7
- Oracle на JavaFX
История
Технология векторного морфинга применялась задолго до Flash. В 1986 году была выпущена программа Fantavision, которая использовала эту технологию. В 1991 году на этой технологии была выпущена игра Another World, а двумя годами позже Flashbac.
Разработка Flash была начата компанией FutureWave, создавшей пакет анимации FutureSplash Animator. В 1996 году FutureWave была приобретена компанией Macromedia, которая переименовала FutureSplash Animator в Flash. Под этим наименованием платформа продолжает развиваться и поныне (хотя после того, как в 2005 году компания Macromedia была поглощена Adobe, Macromedia Flash стал официально называться Adobe Flash).
Последней на сегодняшний день версией программы является Adobe Flash 11 (CS5), с версией языка ActionScript 3.0; последняя версия Flash Player 10.1.
3D-движки
Существуют 3D движки, использующие в качестве основы Flash:
- Papervision3DСамый известный Open Source движок. Векторная прорисовка по треугольникам.
- Away3D Создан Александром Задорожным из Киева на основе проекта Papervision3D. В данный момент ведущий Open Source движок. Также векторная прорисовка.
- Sandy В использовании ещё проще, чем Papervision3D. Open Source. Также векторная прорисовка.
- FFilmation AS3 Flash Isometric Engine Изометрический движок. Open Source.
- Infinity 3D Engine движок с динамическим BSP . Разрабатывается энтузиастом из Санкт-Петербурга Алексеем Романовым.
- Игровая платформа Alternativa Platform Платформа для трёхмерных игр, разрабатываемая группой из Перми. За флеш отвечает Антон Волков. Векторная прорисовка по треугольникам. На данной платформе создана игра Танки Онлайн.
- ZenBullets Flash Isometric 3D Game Engine изометрическая игровая платформа.
Скорость работы перечисленных движков зависит от используемой версии Flash Player, но в целом пока не достаточно высока. В версии 10 введена поддержка трехмерных преобразований, что привело к повышению скорости работы тех движков, которые включили в себя использование данных нововведений. Компания Adobe сотрудничает с компанией NVIDIA в вопросах поддержки аппратного ускорения обработки графики и видео (официальное оглашение).
Недостатки
Основной недостаток Flash-приложений чрезмерная требовательность к ресурсам процессора, которая чаще всего вызвана низким качеством самого Flash-приложения и не связана с характеристиками виртуальной машины Flash Player (сравнение с JavaScript), также иногда это связано с недостатками программного обеспечения отвечающего за обработку Flash-компонентов. Так зачастую реклама и анимационные ролики создаются с помощью многочисленных "генераторов flash-приложений", выдающих на выходе неоптимизированный код и дискредитирующих платформу Flash.
Другой важный недостаток заключается в том, что не всегда есть возможность запустить Flash-приложение, либо она связана с некоторыми трудностями (например, необходимо установить плагин или обновить его до последней версии). Некоторые пользователи (или системные администраторы в рамках целой сети) отключают в настройках браузера возможность загружать контент, обрабатываемый плагинами или загружаемый во фреймах в целях информационной безопасности (в связи с возможной угрозой со стороны контента, например, перехват буфера обмена), экономии системных ресурсов, или для избавления от надоевшей рекламы.
Использование Flash для размещения текстовой информации препятствует её индексированию поисковыми системами. Однако, поисковые системы Google и Yahoo "научились" индексировать текст внутри swf-файлов еще в 2008 году.
Спецификация SWF версии 4 была открыта, но описания последующих версий продавались только с подпиской о неразглашении, и их было запрещено использовать для создания проигрывателей Flash.
В мае 2008 года Adobe Systems объявила об открытии спецификаций SWF и видео контейнера FLV для использования на значительно более мягких условиях, как часть проекта , ориентированного на создание общей среды Flash на всех устройствах.
Ray Valdes из Gartner, Inc. считает одной из целей открытия спецификаций конкуренцию со стороны Microsoft Silverlight; Dave McAllister из Adobe подчеркивает, что это не так.
Однако запатентованные кодеки, используемые в FLV, принадлежат не Adobe, а скачанную спецификацию, в которой нет, например, описания протокола RTMP (20 января 2009 Adobe объявила, что опубликует его в первой половине 2009),7 нельзя распространять и переводить. Flash Player остаётся проприетарным, хотя Adobe обещает сделать использование его на мобильных платформах бесплатным.
Разработчик свободного декодера Swfdec Benjamin Otte написал, что в открытой спецификации нет ничего, что было бы ещё неизвестно благодаря реверс-инжинирингу, хотя официальная спецификация может быть понятнее для новичков, и полезна при возникновении вопросов о легальности библиотеки. О том же говорят и разработчики Gnash. Они также считают возможной причиной этого частичного открытия спецификаций успехи свободных декодеров SWF и конкурирующего проприетарного формата Silverlight.
В феврале 2009 компания Adobe в рамках проекта Open Screen Project опубликовала информацию о снятии ограничений на использование форматов SWF и FLV/F4V, а также протоколов AMF и Mobile Content Delivery Protocol.
В реализациях Adobe Flash время от времени находят дыры, позволяющие злоумышленникам производить разнообразные действия с системой. Так, например, в октябре 2008 года была найдена уязвимость, позволяющая удалённо контролировать веб-камеру и микрофон. Однако, количество уязвимостей, найденных во Flash Player, значительно меньше количества уязвимостей популярных интернет браузеров.
Главной альтернативой Adobe Flash в браузерах является использование JavaScript, Java-апплетов, SVG и HTML 5, а для интерактивных веб-приложений AJAX.
При наличии плагинов также используют Silverlight от Microsoft.
История версий
- FuturePecoraro Animator (1995)
- предшественник Flash, названной по имени первое истинное программного обеспечения пользователей
- FutureSplash Animator (1995)
- начальная версия Flash с основными инструменты редактирования и сроки
- Macromedia Flash Player 1 (Декабрь 1996)
- Macromedia Flash Player 2 (Июнь 1997)
- Первая версия с брендом Macromedia
- Поддержка векторов и движения, некоторых картинок и ограниченного аудио.
- Macromedia Flash Player 3 (Ноябрь 1997)
- Добавлена прозрачность, лицензировано сжатие MP3
- Macromedia Flash Player 4 (Май 1999)
- Macromedia Flash Player 5 (24 Августа 2000)
- Macromedia Flash Player 6 (версия 6.0.21.0, кодовое название Exorcist) (15 Марта 2002)
- Поддержка Flash Remoting (Action Message Format) и Веб служб (SOAP)
- Поддержка потоковых аудио и видео (RTMP)
- Поддержка программ экранных считывателей для слабовидящих людей через Microsoft Active Accessibility
- Добавлены видеокодеки Sorenson Sparc Flash Video
- Macromedia Flash Player 7 (версия 7.0.14.0, кодовое название Mojo) (10 Сентября 2003)
- Поддержка прогрессивного потокового аудио и видео (HTTP)
- Поддержка ActionScript 2.0, и объектно-ориентированного программирования для разработчиков
- Macromedia Flash Player 8 (версия 8.0.22.0, кодовое название Maelstrom) (Август 2005)
- Поддержка изображений в GIF и PNG форматах
- Новый видеокодек (On2 VP6)
- Улучшена производительность
- Добавлены динамические фильтры такие, как размытие и тень
- Добавлена возможность загрузки/скачивания файлов
- Пиксельный рендеринг текста
- Новые правила безопасности для предотавращения небезопасных действий при выполнении
- Macromedia Flash Lite 1.0 и 1.1
- Основано на Flash Player 4
- Для мобильных устройств
- Macromedia Flash Lite 2.0 (Декабрь 2005)
- Основано на Flash Player 7
- Для мобильных устройств
- Adobe Flash Player 9 (версия 9.0.15.0, кодовое название Zaphod) (Июнь 2006) предыдущее название Flash Player 8.5
- Первая версия с брендом Adobe
- Новый скриптовый движок ECMAScript, ActionScript Virtual Machine AVM2. AVM сохранён для совместимости.
- Actionscript 3 через AVM2.
- E4X, который является новым подходом к синтаксическому анализу XML.
- Поддержка бинарных сетевых соединений.
- Поддержка регулярных выражений и пространства имён
- Виртуальная машина ECMAScript 4 пожертвована Фонду Mozilla и названа Tamarin.
- Adobe Flash Player 9 Update 1 (версия 9.0.28.0, кодовое название Marvin) (Ноябрь 2006)
- Поддержка полноэкранного режима.
- Adobe Flash Lite 2.1 (Декабрь 2006)
- Запускается через платформу BREW
- Adobe Flash Lite 3 (Анонсирована в Феврале 2007)
- Поддержка формата FLV
- Adobe Flash Player 9 Update 2 (версия Mac/Windows 9.0.47.0 и Linux 9.0.48.0, кодовое название Hotblac) (Июль 2007)
- Security Update
- Adobe Flash Player 9 Update 3 (версия 9.0.115.0, кодовое название Moviestar или Frogstar) (Декабрь 2007)
- H.264
- AAC (HE-AAC, AAC Main Profile, and AAC-LC)
- Формат файла мультимедиа ISO Base (MPEG-4 Part 12)
- Adobe Flash Player 10 32-bit (версии для Windows, Linux и Mac; кодовое название Astro) (15 октября 2008)
- 3D Эффекты
- Различные фильтры и эффекты
- Расширенная схема размещения текста
- Улучшено API Рисования
- Улучшение производительности визуализации
- Медиа
- Speex Audio Codec
- RTMFP (Real Time Media Flow Protocol)
- Adobe Flash Player 10 64-bit Linux prerelease (16 декабря 2008) Версии для Windows и Mac выйдут одновременно с релизверсией для Linux.
- Нативная поддержка 64 битных браузеров без необходимости использования nswrapper.