Adobe Flash



Adobe Flash (ранее — Macromedia Flash или просто Flash) — мультимедийная платформа компании Adobe Systems для создания веб-приложений или мультимедийных презентаций. Использовалась для создания рекламных баннеров, анимации, игр, а также воспроизведения на веб-страницах видео- и аудиозаписей.

Поддержка Adobe Flash была прекращена 31 декабря 2020 года. С 12 января 2021 года при попытке запуска swf-файла через Adobe Flash Player вместо него будет загружена лишь кнопка, ведущая на страницу Adobe с информацией об окончании жизненного цикла платформы.

Описание

Платформа включает в себя ряд средств разработки, прежде всего Adobe Animate и Adobe Flash Builder, а также программу для воспроизведения flash-контента — Adobe Flash Player, хотя flash-контент умеют воспроизводить и многие плееры сторонних производителей. Например, SWF-файлы можно просматривать с помощью свободных плееров Gnash или Swfdec, а FLV-файлы воспроизводятся через мультимедийный проигрыватель QuickTime и различные проигрыватели в UNIX-подобных системах при наличии соответствующих плагинов.

Adobe Flash позволял работать с векторной, растровой и с трёхмерной графикой, используя при этом графический процессор, а также поддерживал двунаправленную потоковую трансляцию аудио и видео. Для КПК и других мобильных устройств выпущена специальная «облегчённая» версия платформы Flash Lite, функциональность которой ограничена в расчёте на возможности мобильных устройств и их операционных систем.

Стандартным расширением для скомпилированных flash-файлов (анимации, игры и интерактивные приложения) является SWF (Small Web Format; ранее расшифровывалось как Shockwave Flash, что вызывало путаницу с ShockWave). Видеоролики в формате Flash представляют собой файлы с расширением Flv или F4v (при этом Flash в данном случае используется только как контейнер для видеозаписи). Расширение FLA соответствует формату рабочих файлов в среде разработки.

Однако, когда эту программу использовали для работы над анимацией, то этот тип анимации представлял собой смесь компьютерной и рисованной анимаций, притом все персонажи таких мультфильмов — 2D формата.

Технологии

Flash-технологии (технологии интерактивной веб-анимации) разработаны компанией Macromedia и объединили в себе ряд решений в области мультимедийного представления информации. Ориентация на векторную графику в качестве основного инструмента разработки flash-программ позволила реализовать все базовые элементы мультимедиа: движение, звук и интерактивность объектов. Размер итоговых программ минимален, результат работы не зависит от разрешения экрана.

Flash Player представляет собой виртуальную машину, на которой выполняется загруженный из Интернета код Flash-программы.

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

Flash использует язык программирования ActionScript, основанный на ECMAScript.

1 мая 2008 года компания Adobe объявила о начале проекта Open Screen Project, цель которого — создание общего программного интерфейса для персонального компьютера, мобильных устройств и бытовой электроники, что означает одинаковое функционирование одного приложения под всеми перечисленными видами устройств. В рамках проекта снимаются ограничения на использование спецификаций SWF и FLV/F4V и публикуются API для портирования Adobe Flash Player на различные устройства.

Flash Player портирован на мобильную платформу Android, выпущены мобильные устройства с аппаратным ускорением Flash-приложений (включая AIR-приложения).

Некоторые производители ПО для мобильных устройств пытаются заменить или ограничить распространение Flash на свои новые мобильные платформы:

  • Apple — на HTML5 для iPhone, iPod touch и iPad.
  • Microsoft — на Silverlight для Windows Phone 7.
  • Oracle — на JavaFX.

Во Flash Player реализована возможность мультивещания на прикладном уровне.

История

Технология векторного морфинга применялась задолго до Flash. В 1986 году была выпущена программа Fantavision, которая использовала эту технологию. В 1991 году на этой технологии была выпущена игра Another World, а двумя годами позже — Flashback.

Разработка Flash была начата компанией FutureWave, создавшей пакет анимации FutureSplash Animator. В 1996 году FutureWave была приобретена компанией Macromedia, которая переименовала FutureSplash Animator во Flash. Под этим наименованием платформа продолжала развиваться до 31 декабря 2020 года включительно (хотя после того, как в 2005 году компания Macromedia была поглощена Adobe, Macromedia Flash стал официально называться Adobe Flash).

В 2012 году Adobe объявила о завершении поддержки технологии Flash в течение ближайших 5-10 лет. В 2017 году стало известно, что плагин для браузеров и программа Flash Player будут убраны с сайта Adobe 31 декабря 2020 года. В мире накоплено огромное количество игр, сделанных на flash. После того, как флеш-игры из онлайн-коллекций невозможно будет запустить в актуальных браузерах, спрос на них упадёт и владельцы сайтов неизбежно удалят такие игры. Начиная с 2018 года энтузиасты сохраняют флэш-игры из онлайн-коллекций, чтобы в будущем в эти игры можно было играть локально, и они не были утеряны. Разработаны программы для локального сохранения флеш-игр со всеми необходимыми файлами. Эта инициатива встретила поддержку части разработчиков флеш-игр.

Летом 2020 года компания Adobe объявила на своём официальном сайте, что прекратит обновлять и поддерживать Adobe Flash Player после 31 декабря 2020 года. Причиной такого решения компания назвала постепенное совершенствование технологий использования открытых стандартов HTML5, WebGL и WebAssembly. Браузеры постепенно интегрируют эти стандарты и отказываются от использования большинства других плагинов, в том числе Adobe Flash Player.

Впервые о планах прекратить поддержку Adobe Flash Player компания заявила еще в июле 2017 года. Компания дала три года производителям контента, чтобы они смогли адаптировать продукты к стандартам HTML5, WebGL или WebAssembly.

Adobe поддерживала и выпускала обновления для Adobe Flash Player до конца 2020 года. После этого компания удалила программу и все её версии со своего сайта. Содержимое на основе Flash было заблокировано, а пользователи получили уведомление с предложением удалить устаревшую платформу с устройства.

Прекращение поддержки

Android

Adobe прекратила выпуск обновлений Flash Player для Android 10 сентября 2013 года. Был выпущен Flash Player версии 11.1.111.73 для Android 2.x и 3.x, а также Flash Player версии 11.1.115.81 для Android 4.0.x. Эти релизы стали последними обновлениями Flash Player для мобильной платформы Android.

Flash Player

В июле 2017 года Adobe признала технологию Flash Player устаревшей. Жизненный цикл был завершён, когда Adobe прекратила поддержку и распространение Flash Player; окончательная дата прекращения поддержки — 31 декабря 2020 года. Adobe AIR продолжит развитие и поддержку в дальнейшем для мобильных и настольных приложений. Однако 30 мая 2019 года Adobe объявила о передаче поддержки и разработки AIR компании HARMAN и об окончании собственной поддержки в конце 2020 года, что и было сделано.

Недостатки

Основной недостаток flash-приложений — чрезмерная нагрузка на центральный процессор, связанная с неэффективностью виртуальной машины Flash Player. Хотя в некоторых случаях имеет место и недостаточная оптимизация flash-приложений их разработчиками, использование так называемых «генераторов» flash-приложений.

Второй важный недостаток flash-приложений заключается в недостаточном контроле ошибок, что приводит к частым отказам как самих приложений, так, в некоторых случаях, и всего браузера. Возможность flash-приложений нарушать работу всего браузера неоднократно вызывала критику со стороны разработчиков браузеров.

Ещё один недостаток, характерный для всех виртуальных машин, заключается в том, что не всегда есть возможность запустить flash-приложение, либо это связано с некоторыми трудностями. Например, некоторые пользователи или администраторы отключают в настройках браузеров flash-контент, что связано с экономией системных ресурсов, избавлением от надоевшей рекламы и информационной безопасностью (например, была обнаружена угроза перехвата flash-приложением содержимого буфера обмена). Этот недостаток делает технологию Flash менее универсальной и ограничивает её применение в веб-приложениях критической важности.

Четвёртый важный недостаток заключается в том, что использование Flash для размещения текстовой информации затрудняет её индексирование поисковыми системами. И хотя в принципе определённая система индексирования текста внутри swf-файлов была создана и внедрена Google и Yahoo! ещё в 2008 году, но доля сайтов, целиком созданных на Flash, остаётся небольшой.

Приложения Flash, работающие в версии FlashPlayer меньшей, чем 11.2, не могут использовать правую кнопку мыши, зарезервированную для настроек самого Flash.

Как редактор, Adobe Flash CS5 не может конвертировать созданные в нём векторные изображения в форматы другого типа: .ai или .cdr.

Вдобавок ко всему, Adobe Flash Player имеет огромное количество уязвимостей.

Закрытость

Спецификация SWF версии 4 была открыта, но описания последующих версий продавались только с подпиской о неразглашении, и их было запрещено использовать для создания проигрывателей Flash.

В мае 2008 года Adobe Systems объявила об открытии спецификаций[уточнить] SWF- и видеоконтейнера FLV для использования на значительно более мягких условиях, как часть проекта «Open Screen Project», ориентированного на создание общей среды Flash на всех устройствах.

Рэй Вальдес (Ray Valdes) из Gartner, Inc. считает одной из причин открытия спецификаций конкуренцию со стороны Silverlight, однако представитель Adobe Дэйв МакАллистер (Dave McAllister) заявил, что это не так.

Однако запатентованные кодеки, используемые в FLV, принадлежат не Adobe, а скачанную спецификацию, в которой нет, например, описания протокола RTMP (20 января 2009 года Adobe объявила, что опубликует его в первой половине 2009 года), нельзя распространять и переводить. Flash Player остаётся собственническим, хотя Adobe обещала сделать использование его на мобильных платформах бесплатным. Осенью 2011 года компания Adobe заявила о прекращении поддержки мобильных платформ.

Разработчик свободного декодера Swfdec Бенджамин Отте (Benjamin Otte) написал, что в открытой спецификации нет ничего, чего бы ещё не было известно благодаря обратной разработке, хотя официальная спецификация может быть понятнее для новичков и полезна при возникновении вопросов о легальности библиотеки. О том же говорят и разработчики Gnash. Они также считают возможной причиной этого частичного открытия спецификаций успехи свободных декодеров SWF и конкурирующего проприетарного формата Silverlight.

В феврале 2009 года компания Adobe в рамках проекта Open Screen Project опубликовала информацию о снятии ограничений на использование форматов SWF и FLV/F4V, а также протоколов AMF и Mobile Content Delivery Protocol.

Уязвимости

В реализациях Adobe Flash время от времени находят «дыры», позволяющие злоумышленникам производить разнообразные действия с системой. Так, например, в октябре 2008 года была найдена уязвимость, позволяющая удалённо управлять веб-камерой и микрофоном.

В октябре 2015 года в плагине Adobe Flash Player была найдена уязвимость, с помощью которой вредоносное программное обеспечение способно встраиваться в протоколы проигрывателя и проникать на компьютеры жертв. В июле 2015 года была найдена уязвимость, из-за которой Firefox и Chrome на время отключили Flash, хотя его можно было включить на определённом веб-сайте, но через несколько дней Flash включили.

Google с 2016 года запланировала отключить поддержку Flash в своём браузере Chrome. Начиная с версии 55, вышедшей 1 декабря 2016 года, Flash отключён по умолчанию для всех сайтов. Однако пользователи могли вручную включить на конкретном сайте Flash-плеер, до версии 88.

Альтернативы

Прямым конкурентом Flash является технология Silverlight от Microsoft. Технология Java-апплетов также является альтернативой Flash в веб-приложениях, но значительно уступает в надёжности и простоте создания графики и анимации.

В браузерах отдельные части Flash могут быть заменены посредством HTML5, JavaScript (и AJAX), SVG.

Также существует проект Ruffle, который позволяет эмулировать Flash быстрее и безопаснее.

История версий Flash Player

  • FuturePecoraro Animator (1995)
    • предшественник Flash
  • FutureSplash Animator (10 апреля 1996)
    • начальная версия Flash
  • Macromedia Flash Player 1 (18 декабря 1996)
  • Macromedia Flash Player 2 (18 июня 1997)
    • Первая версия с брендом Macromedia
    • Поддержка векторов и движения, некоторых картинок и ограниченного аудио.
  • Macromedia Flash Player 3 (31 мая 1998)
    • Добавлена прозрачность, лицензировано сжатие MP3
  • Macromedia Flash Player 4 (15 июня 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) (13 сентября 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) (22 июня 2006) предыдущее название Flash Player 8.5
    • Новый скриптовый движок 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) (9 ноября 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, кодовое название Hotblack) (11 июня 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
      • Real Time Media Flow Protocol
  • Adobe Flash Player 10 64-bit Linux prerelease (16 декабря 2008) Версии для Windows и Mac вышли одновременно с релиз-версией для Linux.
  • Adobe Flash Lite 3.1 (Февраль 2009)
  • Adobe Flash Lite 4 (2010)
    • Поддержка ActionScript 3.0
  • Adobe Flash Player 10 64-bit Preview 3 для Windows, Mac и Linux (30 ноября 2010)
    • Родная поддержка 64-битных браузеров без необходимости использования nswrapper.
  • Adobe Flash Player 10 Update 1
  • Adobe Flash Player 10 Update 2
  • Adobe Flash Player 10 Update 3 (версия 10.3.181.14) (12 мая 2011)
  • Adobe Flash Player 11 RC1 (версия 11.0.r1.129) (6 сентября 2011)
    • В данной версии впервые осуществлена полная поддержка 64-битных систем и браузеров на ОС Linux, Mac OS, Windows
    • JPEG XR
  • Adobe Flash Player 11.1
  • Adobe Flash Player 11.2 (версия 11.2.202.235)
  • Adobe Flash Player 11.3 (версия 11.3.300.270) (4 августа 2012)
  • Adobe Flash Player 11.4 (бета-версия 11.4.402.259 beta 2) (10 августа 2012)
  • Adobe Flash Player Metro (11.3.372.94) (26 июля 2012)
    • Специальная версия для Internet Explorer 10, используемая с целью экономии мобильных ресурсов в Metro-версии Windows 8.
  • Adobe Flash Player 11.9 (8 октября 2013)
  • Adobe Flash Player 12 (14 января 2014)
  • Adobe Flash Player 13 (8 апреля 2014)
  • Adobe Flash Player 14 (10 июня 2014)
  • Adobe Flash Player 15 (9 сентября 2014)
  • Adobe Flash Player 16 (9 декабря 2014)
  • Adobe Flash Player 17 (12 марта 2015)
  • Adobe Flash Player 18 (9 июня 2015)
  • Adobe Flash Player 19 (21 сентября 2015)
  • Adobe Flash Player 20 (8 декабря 2015)
  • Adobe Flash Player 21 (10 марта 2016)
  • Adobe Flash Player 22 (16 июня 2016)
  • Adobe Flash Player 23 (13 сентября 2016)
  • Adobe Flash Player 24 (13 декабря 2016)
  • Adobe Flash Player 25 (14 марта 2017)
  • Adobe Flash Player 26 (13 июня 2017)
  • Adobe Flash Player 27 (12 сентября 2017)
  • Adobe Flash Player 28 (2017)
  • Adobe Flash Player 32 (5 декабря 2018)

История версий Adobe Animate