Adobe Flash (ранее — Macromedia Flash или просто Flash) — мультимедийная платформа компании Adobe Systems для создания веб-приложений или мультимедийных презентаций. Использовалась flash-аниматорами для создания рекламных баннеров, анимации, игр, а также воспроизведения на веб-страницах видео- и аудиозаписей.
Поддержка 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[1] (Small Web Format; ранее расшифровывалось как Shockwave Flash, что вызывало путаницу с ShockWave). Видеоролики в формате Flash представляют собой файлы с расширением Flv или F4v (при этом Flash в данном случае используется только как контейнер для видеозаписи[2]). Расширение FLA соответствует формату рабочих файлов в среде разработки.
Однако, когда эту программу использовали для работы над анимацией, то этот тип анимации представлял собой смесь компьютерной и рисованной анимаций, притом все персонажи таких мультфильмов — 2D формата.
Flash-технологии (технологии интерактивной веб-анимации) разработаны компанией Macromedia и объединили в себе ряд решений в области мультимедийного представления информации. Ориентация на векторную графику в качестве основного инструмента разработки flash-программ позволила реализовать все базовые элементы мультимедиа: движение, звук и интерактивность объектов. Размер итоговых программ минимален, результат работы не зависит от разрешения экрана[3].
В основе анимации во Flash лежит векторный морфинг, то есть плавное «перетекание» одного ключевого кадра в другой. Это позволяет делать сложные мультипликационные сцены, задавая лишь несколько ключевых кадров. Производительность Flash Player при воспроизведении анимации в несколько раз превышает производительность виртуальной машины JavaScript в браузерах, поддерживающих предварительный стандарт HTML5[4], хотя во много раз уступает приложениям, работающим вообще без использования виртуальных машин.
1 мая 2008 года компания Adobe объявила о начале проекта Open Screen Project, цель которого — создание общего программного интерфейса для персонального компьютера, мобильных устройств и бытовой электроники, что означает одинаковое функционирование одного приложения под всеми перечисленными видами устройств. В рамках проекта снимаются ограничения на использование спецификаций SWF и FLV/F4V и публикуются API для портирования Adobe Flash Player на различные устройства.
Flash Player портирован на мобильную платформу Android, выпущены мобильные устройства с аппаратным ускорением Flash-приложений (включая AIR-приложения).[источник не указан 1408 дней]
Некоторые производители ПО для мобильных устройств пытаются заменить или ограничить распространение Flash на свои новые мобильные платформы:
Технология векторного морфинга применялась задолго до Flash. В 1986 году была выпущена программа Fantavision, которая использовала эту технологию. В 1991 году на этой технологии была выпущена игра Another World, а двумя годами позже — Flashback.
Разработка Flash была начата компанией FutureWave, создавшей пакет анимации FutureSplash Animator. В 1996 году FutureWave была приобретена компанией Macromedia, которая переименовала FutureSplash Animator во Flash. Под этим наименованием платформа продолжала развиваться до 31 декабря2020 года включительно (хотя после того, как в 2005 году компания Macromedia была поглощена Adobe[6], Macromedia Flash стал официально называться Adobe Flash).
В 2012 году Adobe объявила о завершении поддержки технологии Flash в течение ближайших 5-10 лет[7]. В 2017 году стало известно, что плагин для браузеров и программа Flash Player будут убраны с сайта Adobe 31 декабря 2020 года[8][9]. В мире накоплено огромное количество игр, сделанных на flash. После того, как флеш-игры из онлайн-коллекций невозможно будет запустить в актуальных браузерах, спрос на них упадёт и владельцы сайтов неизбежно удалят такие игры. Начиная с 2018 года энтузиасты сохраняют флэш-игры из онлайн-коллекций, чтобы в будущем в эти игры можно было играть локально, и они не были утеряны. Разработаны программы для локального сохранения флеш-игр со всеми необходимыми файлами. Эта инициатива встретила поддержку части разработчиков флеш-игр[10].
Летом 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 было заблокировано, а пользователи получили уведомление с предложением удалить устаревшую платформу с устройства[11].
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.
В июле 2017 года Adobe признала технологию Flash Player устаревшей. Жизненный цикл был завершён, когда Adobe прекратила поддержку и распространение Flash Player[8]; окончательная дата прекращения поддержки — 31 декабря2020 года[9][12]. Adobe AIR продолжит развитие и поддержку в дальнейшем для мобильных и настольных приложений[13]. Однако 30 мая 2019 года Adobe объявила о передаче поддержки и разработки AIR компании HARMAN и об окончании собственной поддержки в конце 2020 года, что и было сделано.[14]
Основной недостаток flash-приложений — чрезмерная нагрузка на центральный процессор, связанная с неэффективностью виртуальной машины Flash Player. Хотя в некоторых случаях имеет место и недостаточная оптимизация flash-приложений их разработчиками, использование так называемых «генераторов» flash-приложений.
Второй важный недостаток flash-приложений заключается в недостаточном контроле ошибок, что приводит к частым отказам как самих приложений, так, в некоторых случаях, и всего браузера. Возможность flash-приложений нарушать работу всего браузера неоднократно вызывала критику со стороны разработчиков браузеров.
Ещё один недостаток, характерный для всех виртуальных машин, заключается в том, что не всегда есть возможность запустить flash-приложение, либо это связано с некоторыми трудностями. Например, некоторые пользователи или администраторы отключают в настройках браузеров flash-контент, что связано с экономией системных ресурсов, избавлением от надоевшей рекламы и информационной безопасностью (например, была обнаружена угроза перехвата flash-приложением содержимого буфера обмена[15]). Этот недостаток делает технологию Flash менее универсальной и ограничивает её применение в веб-приложениях критической важности.
Четвёртый важный недостаток заключается в том, что использование Flash для размещения текстовой информации затрудняет её индексирование поисковыми системами. И хотя в принципе определённая система индексирования текста внутри swf-файлов была создана и внедрена Google и Yahoo! ещё в 2008 году, но доля сайтов, целиком созданных на Flash, остаётся небольшой.
Приложения Flash, работающие в версии FlashPlayer меньшей, чем 11.2, не могут использовать правую кнопку мыши, зарезервированную для настроек самого Flash.
Как редактор, Adobe Flash CS5 не может конвертировать созданные в нём векторные изображения в форматы другого типа: .ai или .cdr.
Вдобавок ко всему, Adobe Flash Player имеет огромное[16] количество уязвимостей.
Спецификация SWF версии 4 была открыта, но описания последующих версий продавались только с подпиской о неразглашении, и их было запрещено использовать для создания проигрывателей Flash.[источник не указан 1408 дней]
В мае 2008 года Adobe Systems объявила об открытии спецификаций[уточнить] SWF- и видеоконтейнера FLV для использования на значительно более мягких условиях, как часть проекта «Open Screen Project», ориентированного на создание общей среды Flash на всех устройствах.[источник не указан 1408 дней]
Рэй Вальдес (Ray Valdes) из Gartner, Inc. считает одной из причин открытия спецификаций конкуренцию со стороны Silverlight, однако представитель Adobe Дэйв МакАллистер (Dave McAllister) заявил, что это не так.[источник не указан 1408 дней]
Однако запатентованныекодеки, используемые в FLV, принадлежат не Adobe[17], а скачанную спецификацию, в которой нет, например, описания протокола RTMP (20 января 2009 года Adobe объявила, что опубликует его в первой половине 2009 года)[18][19], нельзя распространять и переводить[1]. Flash Player остаётся собственническим, хотя Adobe обещала сделать использование его на мобильных платформах бесплатным. Осенью 2011 года компания Adobe заявила о прекращении поддержки мобильных платформ.
Разработчик свободного декодера Swfdec Бенджамин Отте (Benjamin Otte) написал, что в открытой спецификации нет ничего, чего бы ещё не было известно[20] благодаря обратной разработке, хотя официальная спецификация может быть понятнее для новичков и полезна при возникновении вопросов о легальности библиотеки[21]. О том же говорят и разработчики Gnash[22]. Они также считают возможной причиной этого частичного открытия спецификаций успехи свободных декодеров SWF и конкурирующего проприетарного формата Silverlight[23].
В феврале 2009 года компания Adobe в рамках проекта Open Screen Project опубликовала информацию о снятии ограничений на использование форматов SWF и FLV/F4V, а также протоколов AMF и Mobile Content Delivery Protocol.[источник не указан 1408 дней]
В реализациях Adobe Flash время от времени находят «дыры», позволяющие злоумышленникам производить разнообразные действия с системой[24][25][26]. Так, например, в октябре 2008 года была найдена уязвимость, позволяющая удалённо управлять веб-камерой и микрофоном[27].
В октябре 2015 года в плагине Adobe Flash Player была найдена уязвимость, с помощью которой вредоносное программное обеспечение способно встраиваться в протоколы проигрывателя и проникать на компьютеры жертв[28].
В июле 2015 года была найдена уязвимость, из-за которой Firefox и Chrome на время отключили Flash, хотя его можно было включить на определённом веб-сайте, но через несколько дней Flash включили.
Google с 2016 года запланировала отключить поддержку Flash в своём браузере Chrome[29]. Начиная с версии 55, вышедшей 1 декабря 2016 года, Flash отключён по умолчанию для всех сайтов[30]. Однако пользователи могли вручную включить на конкретном сайте Flash-плеер, до версии 88[31].
Прямым конкурентом Flash является технология Silverlight от Microsoft. Технология Java-апплетов также является альтернативой Flash в веб-приложениях, но значительно уступает в надёжности и простоте создания графики и анимации.[источник не указан 1408 дней]
В браузерах отдельные части Flash могут быть заменены посредством HTML5, JavaScript (и AJAX), SVG.
↑Paul Krill.Adobe открывает Flash(англ.). InfoWorld. International Data Group (30 апреля 2008). Дата обращения: 15 мая 2008. Архивировано из оригинала 5 мая 2008 года.
↑Adobe press release: Архивированная копия (неопр.). Дата обращения: 20 августа 2014. Архивировано 21 августа 2014 года.. Blog post from Emmy Huang, the Product Manager for Adobe Flash Player: Архивированная копия (неопр.). Дата обращения: 17 апреля 2017. Архивировано из оригинала 11 апреля 2008 года.