Adobe Flash (ранее Macromedia Flash и FutureSplash ) — это прекращенная [примечание 1] мультимедийная программная платформа, используемая для создания анимаций , многофункциональных интернет-приложений , настольных приложений , мобильных приложений , мобильных игр и встроенных видеоплееров для веб-браузеров.
Flash отображает текст, векторную и растровую графику для создания анимаций, видеоигр и приложений. Он позволяет транслировать аудио и видео , а также может захватывать ввод с мыши, клавиатуры, микрофона и камеры.
Художники могут создавать Flash-графику и анимацию с помощью Adobe Animate (ранее известного как Adobe Flash Professional). Разработчики программного обеспечения могут создавать приложения и видеоигры с помощью Adobe Flash Builder , FlashDevelop, Flash Catalyst или любого текстового редактора в сочетании с Apache Flex SDK. Конечные пользователи просматривают Flash-контент через Flash Player (для веб-браузеров), Adobe AIR (для настольных или мобильных приложений ) или сторонние проигрыватели, такие как Scaleform (для видеоигр). Adobe Flash Player (доступный в Microsoft Windows , macOS и Linux ) позволяет конечным пользователям просматривать Flash-контент с помощью веб-браузеров . Adobe Flash Lite позволял просматривать Flash-контент на старых смартфонах , но с тех пор был прекращен и заменен Adobe AIR.
Язык программирования ActionScript позволяет разрабатывать интерактивную анимацию, видеоигры, веб-приложения, настольные приложения и мобильные приложения. Программисты могут реализовывать программное обеспечение Flash с помощью IDE, такой как Adobe Animate, Adobe Flash Builder, Adobe Director , FlashDevelop и Powerflasher FDT . Adobe AIR позволяет разрабатывать полнофункциональные настольные и мобильные приложения с помощью Flash и публиковать их для Windows , macOS , Android , iOS , Xbox One , PlayStation 4 , Wii U и Nintendo Switch .
Flash изначально использовался для создания полностью интерактивных веб-сайтов, но этот подход был постепенно отменен с появлением HTML5 . Вместо этого Flash нашел нишу в качестве доминирующей платформы для онлайн-мультимедиа-контента, особенно для браузерных игр . После открытого письма, написанного Стивом Джобсом в 2010 году, в котором говорилось, что он не одобрит использование Flash на устройствах iOS от Apple из-за многочисленных недостатков безопасности, использование Flash снизилось, поскольку Adobe перешла на платформу Adobe AIR . Flash Player был объявлен устаревшим в 2017 году и официально прекращен в конце 2020 года для всех пользователей за пределами материкового Китая, а также для некорпоративных пользователей [6] , при этом многие веб-браузеры и операционные системы планировали удалить программное обеспечение Flash Player примерно в то же время. Adobe продолжает разрабатывать Adobe Animate, который поддерживает веб-стандарты, такие как HTML5, вместо формата Flash. [7]
В начале 2000-х годов Flash был широко установлен на настольных компьютерах и часто использовался для отображения интерактивных веб-страниц и онлайн-игр , а также для воспроизведения видео- и аудиоконтента. [8] В 2005 году бывшими сотрудниками PayPal был основан YouTube , и он использовал Adobe Flash Player в качестве средства для отображения сжатого видеоконтента в Интернете. [8]
В период с 2000 по 2010 год многочисленные компании использовали веб-сайты на основе Flash для запуска новых продуктов или для создания интерактивных корпоративных порталов. [9] Известными пользователями являются Nike , Hewlett-Packard (более известная как HP), Nokia , General Electric , Всемирный фонд дикой природы , HBO , Cartoon Network , Disney и Motorola . [9] [10] После того, как Adobe представила аппаратно-ускоренное 3D для Flash ( Stage3D ), веб-сайты Flash увидели рост 3D-контента для демонстраций продуктов и виртуальных туров. [11] [12]
В 2007 году YouTube предложил видео в формате HTML5 для поддержки iPhone и iPad , которые не поддерживали Flash Player. [8] После разногласий с Apple , Adobe прекратила разработку Flash Player для мобильных устройств, сосредоточив свои усилия на приложениях Adobe AIR и анимации HTML5. [8] В 2015 году Google представила Google Swiffy , инструмент, который преобразовывал Flash-анимацию в HTML5, который Google использовал для автоматического преобразования Flash-рекламы в Интернете для мобильных устройств. [13] В 2016 году Google прекратил поддержку Swiffy. [14] В 2015 году YouTube перешел на технологию HTML5 на большинстве устройств по умолчанию; [15] [16] [17] однако YouTube поддерживал видеоплеер на основе Flash для старых веб-браузеров и устройств до 2017 года. [18]
После того, как в 2000 году Flash 5 представил ActionScript, разработчики объединили визуальные и программные возможности Flash для создания интерактивных приложений и веб-приложений. [19] Такие веб-приложения в конечном итоге стали известны как «Rich Internet Applications» [19], а позднее — «Rich Web Applications» [20] .
В 2004 году был выпущен Macromedia Flex, специально нацеленный на рынок разработки приложений. [19] Flex представил новые компоненты пользовательского интерфейса , расширенные компоненты визуализации данных , удаленное управление данными и современную среду IDE (Flash Builder). [19] [21] Flex конкурировал с Asynchronous JavaScript и XML (AJAX) и Microsoft Silverlight во время своего существования. [19] Flex был обновлен для поддержки интеграции с удаленными источниками данных с использованием AMF , BlazeDS , Adobe LiveCycle , Amazon Elastic Compute Cloud и других. [22]
В период с 2006 по 2016 год веб-сервис Speedtest.net провел более 9,0 миллиардов тестов скорости с помощью утилиты, созданной на основе Adobe Flash. [23] [24] В 2016 году сервис перешел на HTML5 из-за снижения доступности Adobe Flash Player на ПК. [25]
Разработчики могли создавать многофункциональные интернет-приложения и апплеты на основе плагинов браузера на языке программирования ActionScript 3.0 с помощью IDE , включая Adobe Flash Builder, FlashDevelop и Powerflasher FDT . Приложения Flex обычно создавались с использованием фреймворков Flex, таких как PureMVC. [22]
Flash-видеоигры были популярны в Интернете, с такими порталами, как Newgrounds , Kongregate и Armor Games, посвященными хостингу Flash-игр. Многие Flash-игры были разработаны отдельными лицами или группами друзей из-за простоты программного обеспечения. [26] Популярные Flash-игры включают Farmville , Alien Hominid , QWOP , Club Penguin и Dofus . [27] [28]
Adobe представила различные технологии для помощи в создании видеоигр, включая Adobe AIR (для выпуска игр для настольных компьютеров или мобильных платформ), Adobe Scout (для повышения производительности), CrossBridge (для преобразования игр на основе C++ для запуска во Flash) и Stage3D (для поддержки видеоигр с ускорением на GPU). 3D-фреймворки, такие как Away3D и Flare3D, упростили создание 3D-контента для Flash. [ необходима цитата ]
Adobe AIR позволяет создавать мобильные игры на основе Flash , которые могут быть опубликованы в магазинах приложений Google Play и Apple . [29] [30] [31]
Flash также используется для создания интерфейсов и HUD для 3D-видеоигр с использованием Scaleform GFx — технологии, которая визуализирует Flash-контент в не-Flash-видеоиграх. Scaleform поддерживается более чем 10 основными игровыми движками, включая Unreal Engine 3 , CryEngine и PhyreEngine , и использовался для предоставления 3D-интерфейсов для более чем 150 основных игровых названий с момента его запуска в 2003 году. [ необходима цитата ]
Известные пользователи Flash включают DHX Media Vancouver для таких проектов, как Pound Puppies , Littlest Pet Shop и My Little Pony: Friendship Is Magic , Fresh TV для Total Drama , Nelvana для 6teen и Clone High , Williams Street для Metalocalypse и Squidbillies , Nickelodeon Animation Studio для El Tigre: The Adventures of Manny Rivera , Starz Media для Wow! Wow! Wubbzy!, Ankama Animation для Wakfu: The Animated Series и других. [ требуется ссылка ]
Предшественником Flash был SmartSketch, продукт, выпущенный FutureWave Software в 1993 году. Компанию основали Чарли Джексон , Джонатан Гей и Мишель Уэлш. [32] [33] [34] [35] SmartSketch был приложением для векторной графики для перьевых компьютеров под управлением PenPoint OS . [36] [37] Когда PenPoint потерпел неудачу на рынке, SmartSketch был портирован на Microsoft Windows и Mac OS . [33] [38]
По мере того, как Интернет становился все более популярным, FutureWave осознала потенциал векторного инструмента веб-анимации, который мог бы бросить вызов технологии Macromedia Shockwave . [32] [33] В 1995 году FutureWave модифицировала SmartSketch, добавив функции покадровой анимации, и выпустила этот новый продукт под названием FutureSplash Animator на Macintosh и ПК. [32] [33] [39] [40]
FutureWave обратилась к Adobe Systems с предложением продать им FutureSplash в 1995 году, но Adobe тогда отклонила предложение. [33] [ проверка не удалась ] Microsoft хотела создать «сеть онлайн-телевидения» ( MSN 2.0 ) и приняла анимированный контент FutureSplash в качестве центральной части. [33] Disney Online использовала анимации FutureSplash для своего сервиса Disney's Daily Blast на основе подписки. [32] [33] Fox Broadcasting Company запустила «Симпсонов» с помощью FutureSplash. [33]
В декабре 1996 года [41] FutureSplash была приобретена Macromedia, и Macromedia провела ребрендинг и выпустила FutureSplash Animator как Macromedia Flash 1.0 . Flash представлял собой систему из двух частей: редактор графики и анимации, известный как Macromedia Flash, и проигрыватель, известный как Macromedia Flash Player. [42]
FutureSplash Animator был инструментом анимации, изначально разработанным для перьевых вычислительных устройств. Из-за небольшого размера FutureSplash Viewer он был особенно удобен для загрузки в Интернете. Macromedia распространяла Flash Player как бесплатный плагин для браузера , чтобы быстро завоевать долю рынка. К 2005 году на большем количестве компьютеров по всему миру был установлен Flash Player, чем на любом другом формате веб-медиа, включая Java , QuickTime , RealNetworks и Windows Media Player . [43]
Macromedia обновила систему Flash между 1996 и 1999 годами, добавив MovieClips, Actions (предшественник ActionScript), Alpha-прозрачность и другие функции. По мере развития Flash фокус Macromedia сместился с маркетинга его как графического и медиа-инструмента на продвижение его как платформы веб-приложений , добавив возможности сценариев и доступа к данным в проигрыватель, при этом пытаясь сохранить его небольшой размер. [ необходима цитата ]
В 2000 году была разработана первая основная версия ActionScript, выпущенная вместе с Flash 5. ActionScript 2.0 был выпущен вместе с Flash MX 2004 и поддерживал объектно-ориентированное программирование , улучшенные компоненты пользовательского интерфейса и другие функции программирования. Последней версией Flash, выпущенной Macromedia, была Flash 8 , которая фокусировалась на графических обновлениях, таких как фильтры (размытие, тень и т. д.), режимы наложения (похожие на Adobe Photoshop ) и расширенные функции для видео FLV . [ требуется цитата ]
3 декабря 2005 года компания Adobe Systems приобрела Macromedia [56] вместе с ее линейкой продуктов, в которую входили Flash, Dreamweaver , Director / Shockwave , Fireworks и Authorware . [57]
В 2007 году Adobe выпустила первую версию Adobe Flash CS3 Professional , девятую основную версию Flash. Она представила язык программирования ActionScript 3.0, который поддерживал современные методы программирования и позволял разрабатывать бизнес-приложения с помощью Flash. Adobe Flex Builder (построенный на Eclipse ) был нацелен на рынок разработки корпоративных приложений и также был выпущен в том же году. Flex Builder включал Flex SDK, набор компонентов, включающий в себя построение диаграмм, расширенный пользовательский интерфейс и службы данных ( Flex Data Services ). [ необходима цитата ]
В 2008 году Adobe выпустила десятую версию Flash, Adobe Flash CS4 . Flash 10 улучшил возможности анимации в редакторе Flash, добавив панель редактора движения (похожую на Adobe After Effects ), обратную кинематику (кости), базовую анимацию 3D-объектов, анимацию на основе объектов и другие текстовые и графические функции. Flash Player 10 включал встроенный 3D-движок (без ускорения GPU), который позволял выполнять базовые преобразования объектов в 3D-пространстве (положение, вращение, масштабирование). [ необходима цитата ]
Также в 2008 году Adobe выпустила первую версию Adobe Integrated Runtime (позже переименованную в Adobe AIR ), движка среды выполнения, который заменил Flash Player и предоставил дополнительные возможности языку ActionScript 3.0 для создания настольных и мобильных приложений. С помощью AIR разработчики впервые могли получить доступ к файловой системе (файлам и папкам пользователя) и подключенным устройствам, таким как джойстик, геймпад и датчики. [ необходима цитата ]
В 2011 году был выпущен Adobe Flash Player 11 , а вместе с ним и первая версия Stage3D , обеспечивающая ускоренный на GPU 3D-рендеринг для Flash-приложений и игр на настольных платформах, таких как Microsoft Windows и Mac OS X. [ 58] Adobe продолжила улучшать 3D-возможности с 2011 по 2013 год, добавив поддержку 3D-рендеринга на платформах Android и iOS, альфа-каналы, сжатые текстуры, атласы текстур и другие функции. [59] [60] Adobe AIR был обновлен для поддержки 64-разрядных компьютеров и позволил разработчикам добавлять дополнительные функции в среду выполнения AIR с помощью AIR Native Extensions (ANE).
В мае 2014 года Adobe объявила, что Adobe AIR использовался в более чем 100 000 уникальных приложений и имел более 1 миллиарда установок по всему миру. [61] Adobe AIR был признан лучшим продуктом для разработки мобильных приложений на выставке бытовой электроники два года подряд (CES 2014 и CES 2015). [62] [63]
В 2016 году Adobe переименовала Flash Professional, основное программное обеспечение для создания Flash-контента, в Adobe Animate, чтобы отразить его растущее использование для создания HTML5-контента в пользу Flash-контента. [64]
Adobe предприняла шаги по сокращению или устранению расходов на лицензирование Flash. Например, документация по формату файла SWF предоставляется бесплатно [81] после того, как в 2008 году они смягчили требование принятия соглашения о неразглашении для ее просмотра. [82] Adobe также создала проект Open Screen, который отменяет лицензионные сборы и открывает протоколы данных для Flash.
Компания Adobe также открыла исходный код многих компонентов, связанных с Flash.
Adobe не пожелала предоставить полный исходный код Flash Player для разработки свободного программного обеспечения , и хотя были созданы бесплатные и открытые альтернативы, такие как Shumway и Gnash , они больше не находятся в стадии активной разработки. [92]
1 мая 2008 года Adobe анонсировала проект Open Screen Project , целью которого было обеспечение единого интерфейса приложений для таких устройств, как персональные компьютеры, мобильные устройства и бытовая электроника . [93] Когда проект был анонсирован, было обозначено семь целей: отмена лицензионных сборов для Adobe Flash Player и Adobe AIR , снятие ограничений на использование форматов файлов Shockwave Flash ( SWF ) и Flash Video (FLV) , публикация интерфейсов прикладного программирования для переноса Flash на новые устройства и публикация протокола Flash Cast и формата Action Message Format (AMF), которые позволяют приложениям Flash получать информацию из удаленных баз данных. [93]
По состоянию на февраль 2009 года [обновлять]были опубликованы спецификации, снимающие ограничения на использование спецификаций SWF и FLV/F4V. [94] Протокол Flash Cast, теперь известный как Mobile Content Delivery Protocol, и протоколы AMF также стали доступны, [94] при этом AMF доступен как реализация с открытым исходным кодом, BlazeDS .
Список поставщиков мобильных устройств, присоединившихся к проекту, включает Palm , Motorola и Nokia, [95] которые совместно с Adobe объявили о создании фонда Open Screen Project в размере 10 миллионов долларов. [96]
Одним из основных применений Flash в Интернете, когда он был впервые выпущен, было создание полностью захватывающих, интерактивных веб-сайтов. Обычно это были очень креативные дизайны сайтов, которые обеспечивали большую гибкость по сравнению с тем, что могли предоставить текущие стандарты HTML, а также работали через коммутируемые соединения. [97] Однако эти сайты ограничивали доступность, «ломая кнопку Назад », полностью выбрасывая посетителей из опыта Flash, возвращая их на любую страницу, на которой они были до первого попадания на сайт. Сайты, полностью работающие на Flash, вышли из моды из-за более стратегического использования плагинов Flash для видео и других интерактивных функций среди стандартных соглашений HTML, что соответствовало доступности таких функций HTML, как каскадные таблицы стилей в середине 00-х. [98] В то же время это также привело к использованию Flash для новых приложений, включая видеоигры и анимацию. [99] Предшественники YouTube , показывающие созданные пользователями Flash-анимации и игры, такие как Newgrounds, стали популярными направлениями, что еще больше способствовало распространению использования Flash. [97]
Ближе к концу тысячелетия был выпущен протокол беспроводных приложений (WAP), что соответствовало развитию Dynamic HTML . Пятнадцать лет спустя WAP был в значительной степени заменен реализациями с полным набором возможностей, а стандарт HTML5 включал большую поддержку интерактивных и видеоэлементов . Поддержка Flash в этих мобильных браузерах не была включена. В 2010 году Стив Джобс из Apple написал знаменитое «Мысли о Flash» — открытое письмо Adobe, в котором критиковал закрытую природу платформы Flash и присущие приложению проблемы безопасности, чтобы объяснить, почему Flash не поддерживается на iOS . [100] [101] Adobe создала среду Adobe AIR как средство умиротворения Apple и потратила время на юридическую борьбу с Apple по поводу условий ее App Store, чтобы разрешить использование AIR на iOS. Хотя Adobe в конечном итоге победила, позволив другим сторонним средам разработки получить доступ к iOS, решение Apple заблокировать сам Flash считалось «смертельным ударом» по приложению Flash. [99] В ноябре 2011 года, примерно через год после открытого письма Джобса, Adobe объявила, что больше не будет разрабатывать Flash, и посоветовала разработчикам перейти на HTML5. [102]
В 2011 году Adobe прекратила поддержку Flash на Android. [102] Adobe заявила, что платформа Flash переходит на Adobe AIR и OpenFL , многоцелевую реализацию Flash API с открытым исходным кодом. [103] В 2015 году Adobe переименовала Flash Professional, основную среду разработки Flash, в Adobe Animate , чтобы подчеркнуть расширенную поддержку разработки HTML5, и заявила, что она «поощряет создателей контента создавать контент с использованием новых веб-стандартов», а не использовать Flash. [104]
В июле 2017 года компания Adobe прекратила поддержку Flash и объявила о завершении его поддержки (EOL) в конце 2020 года, а также о прекращении поддержки, распространения и обновлений безопасности для Flash Player. [6]
С объявлением об окончании поддержки Flash многие браузеры предприняли шаги по постепенному ограничению Flash-контента (предупреждение пользователей перед его запуском, в конечном итоге блокировка всего контента без возможности его воспроизведения). К январю 2021 года все основные браузеры безоговорочно блокировали весь Flash-контент. Только IE11 , нишевые браузерные ответвления и некоторые браузеры, созданные для Китая, планируют продолжить поддержку. Кроме того, за исключением китайского варианта Flash, программное обеспечение для выполнения Flash имеет встроенный аварийный выключатель, который не позволяет воспроизводить Flash после 12 января 2021 года. [105] В январе 2021 года Microsoft выпустила необязательное обновление KB4577586, которое удаляет Flash Player из Windows; в июле 2021 года это обновление было выпущено как обновление безопасности и автоматически применено ко всем оставшимся системам. [106]
Adobe Flash будет по-прежнему поддерживаться в Китае и по всему миру на некоторых специализированных корпоративных платформах после 2020 года. [5]
Еще в 2014 году, примерно в то же время, когда Adobe начала поощрять разработчиков Flash переводить свои работы на стандарты HTML5, другие начали прилагать усилия по сохранению существующего Flash-контента путем эмуляции Flash в открытых стандартах. В то время как некоторые приложения Flash были утилитарными, несколько приложений показали себя как экспериментальное искусство, в то время как другие заложили основу независимой разработки видеоигр . [107] Ранним проектом был Shumway от Mozilla , проект с открытым исходным кодом, который пытался эмулировать стандарт Flash в HTML5, но проект был закрыт, поскольку команда обнаружила, что больше разработчиков переходят на HTML5, чем стремятся сохранить свой контент во Flash, в сочетании с трудностями в обеспечении полной совместимости. Google разработала приложение Swiffy , выпущенное в 2014 году, для преобразования Flash-приложений в HTML5-совместимые скрипты для просмотра на мобильных устройствах, но оно было закрыто в 2016 году. [107]
Ближе к дате окончания поддержки Flash в 2020 году были предприняты более концентрированные усилия по сохранению существующих приложений Flash, включая веб-сайты, видеоигры и анимацию после окончания поддержки Flash. [99] [108] [109] В ноябре 2020 года Internet Archive представил эмуляторы Flash Ruffle и Emularity для эмуляции игр и анимаций Flash без дыр в безопасности, открыв новую коллекцию для создателей и пользователей для сохранения и сохранения контента Flash. [110] [111] К октябрю 2023 года Flashpoint Archive собрал более 160 000 приложений Flash, за исключением тех, которые были коммерческими продуктами, и предложил их в качестве бесплатного архива для загрузки пользователями. [112] [113] Kongregate , один из крупнейших сайтов, предлагающих игры Flash, сотрудничает с Strong Museum of Play для сохранения своих игр. [107]
Исходные файлы Flash находятся в формате FLA и содержат графику и анимацию, а также встроенные ресурсы, такие как растровые изображения, аудиофайлы и видеофайлы FLV. Формат исходного файла Flash был запатентованным форматом, и Adobe Animate и Adobe Flash Pro были единственными доступными инструментами для редактирования таких файлов. Исходные файлы Flash (.fla) могут быть скомпилированы в файлы фильмов Flash (.swf) с помощью Adobe Animate. Обратите внимание, что файлы FLA можно редактировать, но выходные файлы (.swf) — нет.
Файлы Flash-фильмов были в формате SWF , традиционно называемые фильмами "ShockWave Flash", "Flash-фильмами" или "Flash-приложениями", обычно имели расширение .swf и могли использоваться в виде подключаемого модуля веб-страницы, строго "воспроизводиться" в автономном Flash Player или включаться в самозапускающийся фильм Projector (с расширением .exe в Microsoft Windows ). Файлы Flash Video [спецификация 1] имели расширение .flv и либо использовались из файлов .swf, либо воспроизводились через проигрыватель с поддержкой flv, такой как VLC или QuickTime и Windows Media Player с добавлением внешних кодеков .
Использование векторной графики в сочетании с программным кодом позволяет Flash-файлам быть меньше, и, таким образом, позволяет потокам использовать меньшую полосу пропускания , чем соответствующие растровые изображения или видеоклипы. Для контента в одном формате (например, просто текст, видео или аудио) другие альтернативы могут обеспечить лучшую производительность и потреблять меньше ресурсов процессора , чем соответствующий Flash-ролик, например, при использовании прозрачности или создании больших обновлений экрана, таких как фотографические или текстовые затухания.
В дополнение к векторному движку рендеринга Flash Player включает виртуальную машину, называемую ActionScript Virtual Machine (AVM), для интерактивности сценариев во время выполнения с видео, аудио на основе MP3 и растровой графикой. Начиная с Flash Player 8, он предлагал два видеокодека: On2 Technologies VP6 и Sorenson Spark , а также возможности Windows Metafile во время выполнения JPEG , Progressive JPEG, PNG , GIF и (DWG) AutoCAD Drawing file (WMV).
Flash Player 11 представил полноценный API 3D- шейдеров , называемый Stage3D , который довольно похож на WebGL . [114] [115] Stage3D обеспечивает ускоренный на GPU рендеринг 3D-графики в играх и приложениях Flash и использовался для создания Angry Birds и нескольких других известных игр.
Для Flash с использованием Stage3D были созданы различные 3D-фреймворки, такие как Away3D 4, [115] CopperCube , [116] Flare3D , [117] и Starling . [118] Профессиональные игровые движки, такие как Unreal Engine [119] [120] и Unity , также экспортируют версии Flash, которые используют Stage3D для рендеринга 3D-графики.
Практически все плагины браузера для видео бесплатны и кроссплатформенны, включая предложение Adobe Flash Video, которое было представлено в версии Flash 6. Flash Video был популярным выбором для веб-сайтов из-за большой установленной пользовательской базы и программируемости Flash. В 2010 году Apple публично раскритиковала Adobe Flash, включая его реализацию воспроизведения видео, за то, что он не использовал преимущества аппаратного ускорения, одной из причин, по которой Flash не был найден на мобильных устройствах Apple. Вскоре после критики Apple Adobe продемонстрировала и выпустила бета-версию Flash 10.1, которая использовала доступное аппаратное ускорение GPU даже на Mac. Flash 10.2 beta, выпущенная в декабре 2010 года, добавила аппаратное ускорение для всего конвейера рендеринга видео.
Flash Player поддерживает два различных режима воспроизведения видео, а аппаратное ускоренное декодирование видео не может использоваться для старого видеоконтента. Такой контент вызывает чрезмерное использование ЦП по сравнению с сопоставимым контентом, воспроизводимым с помощью других проигрывателей.
В тестах, проведенных Ars Technica в 2008 и 2009 годах, Adobe Flash Player показал себя лучше на Windows, чем Mac OS X и Linux с тем же оборудованием. [122] [123] Производительность последних двух программ впоследствии улучшилась: на Mac OS X с Flash Player 10.1, [124] и на Linux с Flash Player 11. [125]
Flash Audio чаще всего кодируется в MP3 [ нужна цитата ] ; однако он также может использовать ADPCM (вариация IMA ADPCM, которая может использовать 2, 3, 4 или 5 бит на сэмпл), Nellymoser ( кодек Nellymoser Asao ) и аудиокодеки Speex . Flash допускает частоты дискретизации 5512, 11025, 22050 и 44100 Гц (но Speex использует 16 кГц, а Nellymoser Asao может также использовать 8 кГц и 16 кГц). [126] Он не может иметь частоту дискретизации звука 48 кГц, что является стандартной частотой дискретизации ТВ и DVD. [ нужна цитата ]
20 августа 2007 года Adobe объявила в своем блоге, что с обновлением 3 Flash Player 9 Flash Video также будет реализовывать некоторые части международных стандартов MPEG-4 . [127] В частности, Flash Player будет работать с видео, сжатым в H.264 (MPEG-4 Часть 10), аудио, сжатым с использованием AAC (MPEG-4 Часть 3), форматами контейнеров мультимедиа F4V, MP4 (MPEG-4 Часть 14), M4V, M4A, 3GP и MOV , спецификацией 3GPP Timed Text (MPEG-4 Часть 17), которая является стандартизированным форматом субтитров и частичной возможностью синтаксического анализа для атома «ilst», который является эквивалентом ID3 , используемым iTunes для хранения метаданных . MPEG-4 Часть 2 и H.263 не будут работать в формате файла F4V. Adobe также объявила, что будет постепенно отходить от формата FLV к стандартному базовому формату медиафайлов ISO ( MPEG-4 Часть 12 ) из-за функциональных ограничений структуры FLV при потоковой передаче H.264. Финальный релиз Flash Player, реализующий некоторые части стандартов MPEG-4, стал доступен осенью 2007 года. [128]
Adobe Flash Player 10.1 не имеет акустического эхоподавление, в отличие от VoIP-предложений Skype и Google Voice, что делает эту и более ранние версии Flash менее подходящими для групповых звонков или собраний. Flash Player 10.3 Beta включает акустическое эхоподавление.
Программы Flash используют язык программирования ActionScript . Это расширенный надмножество языка программирования ECMAScript с классической моделью классов в стиле Java , а не прототипной моделью JavaScript .
В октябре 1998 года Macromedia раскрыла спецификацию Flash версии 3 на своем веб-сайте. Это было сделано в ответ на появление множества новых и часто полуоткрытых форматов, конкурирующих с SWF, таких как Xara's Flare и Sharp's Extended Vector Animation. Несколько разработчиков быстро создали библиотеку C для создания SWF. В феврале 1999 года была представлена MorphInk 99, первая сторонняя программа для создания SWF-файлов. Macromedia также наняла Middlesoft для создания бесплатного комплекта разработчика для формата файлов SWF версий с 3 по 5.
Компания Macromedia сделала спецификации Flash-файлов для версий 6 и более поздних только доступными в соответствии с соглашением о неразглашении , но они широко доступны на различных сайтах.
В апреле 2006 года была выпущена спецификация формата файла Flash SWF с подробностями о новейшей версии формата (Flash 8). Хотя все еще не хватало конкретной информации о встроенных форматах сжатия видео (On2, Sorenson Spark и т. д.), эта новая документация охватывала все новые функции, предлагаемые в Flash v8, включая новые команды ActionScript, выразительные элементы управления фильтрами и т. д. Документ спецификации формата файла предлагается только разработчикам, которые соглашаются с лицензионным соглашением, которое позволяет им использовать спецификации только для разработки программ, которые могут экспортировать в формат файла Flash. Лицензия не позволяет использовать спецификации для создания программ, которые могут использоваться для воспроизведения файлов Flash. Спецификация Flash 9 была предоставлена с аналогичными ограничениями. [129]
В июне 2009 года Adobe запустила проект Open Screen (ссылка Adobe), который сделал спецификацию SWF доступной без ограничений. Ранее разработчики не могли использовать спецификацию для создания совместимых с SWF проигрывателей, а только для создания программного обеспечения для разработки, экспортирующего SWF. Однако спецификация по-прежнему не содержит информации о кодеках, таких как Sorenson Spark . [130]
Программа Adobe Animate в основном используется для разработки графики и анимации и публикации их для веб-сайтов, веб-приложений и видеоигр. Программа также предлагает ограниченную поддержку для встраивания аудио и видео и сценариев ActionScript.
Adobe выпустила Adobe LiveMotion , предназначенный для создания интерактивного анимационного контента и экспорта его в различные форматы, включая SWF. LiveMotion не удалось получить сколько-нибудь заметной пользовательской базы. [ указать ]
В феврале 2003 года Macromedia приобрела Presedia, которая разработала инструмент Flash-авторизации, который автоматически конвертировал файлы PowerPoint во Flash. Впоследствии Macromedia выпустила новый продукт под названием Breeze, который включал множество новых усовершенствований.
Различные бесплатные и коммерческие пакеты программного обеспечения могут выводить анимацию в формат Flash SWF, включая:
Проект Flash 4 Linux был инициативой по разработке приложения Linux с открытым исходным кодом в качестве альтернативы Adobe Animate. Планы по разработке включали возможность создания 2D-анимации и создания промежуточных кадров , а также вывод файлов в формате SWF. F4L превратился в редактор, способный создавать 2D-анимацию и публиковать файлы SWF. Flash 4 Linux был переименован в UIRA. UIRA намеревался объединить ресурсы и знания проектов F4L и Qflash, оба из которых были приложениями с открытым исходным кодом, призванными предоставить альтернативу фирменному Adobe Flash.
Adobe предоставляет ряд инструментов для разработки программных приложений и видеоигр для Flash:
Сторонние инструменты разработки были созданы для того, чтобы помочь разработчикам создавать программные приложения и видеоигры с использованием Flash.
Adobe Flash Player — это проигрыватель мультимедиа и приложений, изначально разработанный Macromedia и приобретенный Adobe Systems. Он воспроизводит файлы SWF , которые могут быть созданы Adobe Animate, Apache Flex или рядом других инструментов Adobe Systems и сторонних производителей. Он поддерживает язык сценариев ActionScript, который можно использовать для отображения Flash Video из файла SWF.
Scaleform GFx — это коммерческий альтернативный проигрыватель Flash, который обеспечивает полностью аппаратно ускоренный рендеринг 2D-графики с использованием GPU . Scaleform имеет высокую совместимость как с Flash 10 ActionScript 3 [131] , так и с Flash 8 ActionScript 2. Scaleform GFx — это промежуточное программное решение для разработки игр, которое помогает создавать графические пользовательские интерфейсы или HUD в 3D-видеоиграх. Он не работает с веб-браузерами.
IrfanView — просмотрщик изображений, использующий Flash Player для отображения SWF-файлов.
OpenFL , кроссплатформенная реализация Adobe Flash API с открытым исходным кодом, [103] поддерживает импорт SWF-активов. [132]
Lightspark — это бесплатный проигрыватель SWF с открытым исходным кодом, который поддерживает большую часть ActionScript 3.0 и имеет совместимый с Mozilla плагин . [133] Он будет использовать Gnash, бесплатный проигрыватель SWF, поддерживающий код ActionScript 1.0 и 2.0 (AVM1). Lightspark поддерживает рендеринг на основе OpenGL для 3D-контента. Плеер также совместим с видео H.264 Flash на YouTube .
Gnash стремился создать программный проигрыватель и замену плагина браузера для Adobe Flash Player. Gnash может воспроизводить файлы SWF до версии 7 и 80% ActionScript 2.0. [134] Gnash работает на Windows, Linux и других платформах для 32-битных, 64-битных и других операционных систем, но разработка значительно замедлилась в последние годы.
Shumway — Flash Player с открытым исходным кодом, выпущенный Mozilla в ноябре 2012 года. Он был написан на JavaScript и, таким образом, совместим с современными веб-браузерами. [135] [136] [137] В начале октября 2013 года Shumway был включен по умолчанию в ночную ветку Firefox. [138] Shumway отображал Flash-контент, транслируя содержимое внутри Flash-файлов в элементы HTML5 и запуская интерпретатор ActionScript в JavaScript . [139] Он поддерживал как AVM1, так и AVM2, а также ActionScript версий 1, 2 и 3. [140] Разработка Shumway прекратилась в начале 2016 года. [141]
В том же году, когда был заброшен Shumway, началась работа над Ruffle , эмулятором Flash, написанным на Rust . Он также работает в веб-браузерах, компилируясь в WebAssembly и используя HTML5 Canvas . [142] В 2020 году Internet Archive добавил поддержку эмуляции SWF, добавив Ruffle в свою схему эмуляции. [143] По состоянию на март 2023 года Ruffle заявляет, что поддерживает 95% языка AS1/2 и 73% API AS1/2, но некорректно запускает большинство приложений AS3 (AVM2). [ необходима цитата ]
В настоящее время Adobe Flash Player поддерживается только в версиях Enterprise [1] [2] [4] и China [5] , во всех остальных версиях он устарел. [6]
Adobe Flash Player доступен в четырех вариантах:
Версия ActiveX — это элемент управления ActiveX для использования в Internet Explorer и любых других приложениях Windows, поддерживающих технологию ActiveX. Версии подключаемых модулей доступны для браузеров, поддерживающих подключаемые модули NPAPI или PPAPI в Microsoft Windows , macOS и Linux . Версия для проектора — это автономный проигрыватель, который может напрямую открывать файлы SWF . [144]
Adobe AIR использует часть кода совместно с Adobe Flash Player и по сути встраивает его.
Adobe Flash Player ранее был доступен для различных мобильных операционных систем, включая Android (между версиями 2.2 [145] и 4.0.4 ) [146] ., Pocket PC / Windows CE , QNX (например, на BlackBerry PlayBook ), Symbian , Palm OS и webOS (начиная с версии 2.0 [147] ). Flash Player для смартфонов изначально был доступен производителям мобильных телефонов в конце 2009 года. [148] В ноябре 2011 года Adobe объявила о прекращении поддержки Flash Player на мобильных устройствах. [149]
В 2011 году Adobe подтвердила свою приверженность «активному содействию» HTML5. [150] [151] Adobe объявила о завершении Flash для мобильных платформ или ТВ, вместо этого сосредоточившись на HTML5 для контента браузера и Adobe AIR для различных магазинов мобильных приложений [152] [153] [154] [155] и описала это как «начало конца». [156] BlackBerry LTD (ранее известная как RIM) объявила, что продолжит разработку Flash Player для PlayBook. [157]
Для устройств iOS ( iPhone , iPad и iPod Touch ) нет Adobe Flash Player . Однако Flash-контент можно запустить на устройствах iOS несколькими способами:
Мобильная версия Internet Explorer для Windows Phone не может воспроизводить Flash-контент; [162] однако поддержка Flash по-прежнему присутствует в планшетной версии Windows . [163]
AIR — кроссплатформенная система выполнения для разработки приложений для мобильных устройств под управлением Android ( ARM Cortex-A8 и выше) [164] и Apple iOS . [165]
Adobe Flash Lite — это облегченная версия Adobe Flash Player, предназначенная для мобильных телефонов [166] [ самостоятельно опубликованный источник? ] и других портативных электронных устройств, таких как Chumby и iRiver .
Список альтернативных плееров, не являющихся веб-плеерами, см. в разделе Открытый исходный код.
OpenFL — это программный фреймворк с открытым исходным кодом, который отражает API Adobe Flash. Он позволяет разработчикам создавать единое приложение на основе API OpenFL и одновременно ориентироваться на несколько платформ, включая iOS, Android, HTML5 (выбор Canvas, WebGL, SVG или DOM), Windows, macOS, Linux, WebAssembly, Flash, AIR, PlayStation 4, PlayStation 3, PlayStation Vita, Xbox One, Wii U, TiVo, Raspberry Pi и Node.js. [167] OpenFL отражает API Flash для графических операций. Приложения OpenFL могут быть написаны на Haxe , JavaScript (EcmaScript 5 или 6+) или TypeScript. [168]
С использованием OpenFL было разработано более 500 видеоигр, [169] включая отмеченную наградой BAFTA игру Papers, Please , Rymdkapsel , Lightbot и Madden NFL Mobile .
HTML5 часто упоминается как альтернатива использованию технологии Adobe Flash на веб-страницах. Adobe выпустила инструмент, который преобразует Flash в HTML5, [170] а в июне 2011 года Google выпустила экспериментальный инструмент, который делает то же самое. [171] [172] В январе 2015 года YouTube перешел на проигрыватели HTML5 по умолчанию для лучшей поддержки большего количества устройств. [173]
Следующие инструменты позволяют конвертировать Flash-контент в HTML5:
Следующие инструменты запускают Flash-контент в браузере с поддержкой HTML5, но не преобразуют его в веб-страницу HTML5:
Веб-сайты, созданные с помощью Adobe Flash, не будут работать на большинстве современных мобильных устройств под управлением Google Android или iOS ( iPhone , iPad ). Единственной альтернативой является использование HTML5 и адаптивного веб-дизайна для создания веб-сайтов, которые поддерживают как настольные, так и мобильные устройства.
Однако Flash по-прежнему используется для создания мобильных игр с использованием Adobe AIR. Такие игры не будут работать в мобильных веб-браузерах, а должны быть установлены через соответствующий магазин приложений .
Зависимость от Adobe для декодирования Flash сделала его использование в World Wide Web проблемой — полнота его публичных спецификаций обсуждается, и ни одна полная реализация Flash не является общедоступной в форме исходного кода с лицензией, которая разрешает повторное использование. Как правило, публичные спецификации — это то, что делает формат повторно реализуемым (см. хранилище данных с проверкой на будущее ), а повторно используемые кодовые базы могут быть перенесены на новые платформы без одобрения создателя формата.
Ограничения Adobe на использование спецификаций SWF/FLV были сняты в феврале 2009 года (см. Adobe Open Screen Project). Однако, несмотря на усилия таких проектов, как Gnash, Swfdec и Lightspark , по состоянию на сентябрь 2011 года полностью бесплатный Flash-плеер еще не появился. Например, Gnash пока не может использовать SWF v10. [181] Примечательно, что Gnash был включен в список высокого приоритета Free Software Foundation , по крайней мере, с 2007 года, до его удаления в январе 2017 года. [182]
Известные сторонники свободного программного обеспечения, открытых стандартов и Всемирной паутины предостерегают от использования Flash:
Основатель Mozilla Europe Тристан Нито заявил в 2008 году: [183]
Компаниям, создающим веб-сайты, следует остерегаться фирменных мультимедийных технологий, таких как Adobe Flash и Microsoft Silverlight. (...) Вы создаете контент для своих пользователей, и есть кто-то посередине, кто решает, следует ли пользователям видеть ваш контент.
Представитель открытых стандартов, изобретатель CSS и соавтор HTML5, Хокон Виум Ли объяснил в техническом докладе Google 2007 года под названием «Элемент <video>» предложение Theora в качестве формата для видео HTML : [184]
Я очень сильно верю, что нам нужно договориться о каком-то базовом видеоформате, если [элемент видео] собирается добиться успеха. Flash сегодня является базовым форматом в Интернете. Проблема Flash в том, что это не открытый стандарт.
Представляя движение за свободное программное обеспечение , Ричард Столлман заявил в своей речи в 2004 году, что: [185] «Использование Flash на веб-сайтах является серьезной проблемой для нашего сообщества».
Консультант по юзабилити Якоб Нильсен опубликовал в 2000 году Alertbox под названием « Flash: 99% плохо» , в котором говорилось, что «Flash имеет тенденцию ухудшать качество веб-сайтов по трем причинам: он поощряет злоупотребления дизайном, нарушает фундаментальные принципы взаимодействия в Интернете и отвлекает внимание от основной ценности сайта». [186] Некоторые проблемы были, по крайней мере, частично устранены после жалоб Нильсена: размер текста можно контролировать с помощью масштабирования всей страницы, а авторы могут включать альтернативный текст во Flash, начиная с Flash Player 6.
Flash-контент обычно встраивается с помощью элемента object
или embed
HTML . [187] Веб-браузер, который не полностью реализует один из этих элементов, отображает заменяющий текст, если он предоставлен веб-страницей. Часто для полной реализации этих элементов браузеру требуется плагин, хотя некоторые пользователи не могут или не хотят его устанавливать.
Поскольку Flash может использоваться для создания контента (например, рекламы), который некоторые пользователи считают неприятным или для загрузки которого требуется большой объем пропускной способности, некоторые веб-браузеры по умолчанию не воспроизводят Flash-контент, пока пользователь не щелкнет по нему, например Konqueror , K-Meleon .
Большинство современных браузеров имеют функцию блокировки плагинов, воспроизводя один только тогда, когда пользователь нажимает на него. Версии Opera, начиная с 10.5, имеют встроенную блокировку Flash. Opera Turbo требует, чтобы пользователь нажал, чтобы воспроизвести Flash-контент, и браузер также позволяет пользователю включить эту опцию на постоянной основе. И Chrome [188] , и Firefox [189] имеют возможность включить «нажмите, чтобы воспроизвести плагины». Эквивалентные расширения «блокировщика Flash» также доступны для многих популярных браузеров: в Firefox есть Flashblock и NoScript , в Internet Explorer есть Foxie, который содержит ряд функций, одна из которых называется Flashblock. Браузеры на базе WebKit под управлением macOS, такие как Safari от Apple, имеют ClickToFlash. [190] В июне 2015 года Google объявила, что Chrome по умолчанию «приостановит» рекламу и «нецентральный» Flash-контент. [191]
Firefox (начиная с версии 46) переписывает старый Flash- код встраивания YouTube в современный встроенный проигрыватель YouTube, который может использовать как HTML-видео, так и Flash. [192] Такой код встраивания используется сайтами, не относящимися к YouTube, для встраивания видео YouTube, и его все еще можно встретить, например, в старых блогах и форумах.
Однако есть способы обойти эту ошибку при отсутствии Flash Player, удалив код проверки в HTML. Это также зависит от зрения браузера.
На протяжении многих лет безопасность Adobe Flash Player [193] заставляла многих экспертов по безопасности рекомендовать не устанавливать проигрыватель или блокировать Flash-контент. [194] [195] US -CERT рекомендовал блокировать Flash, [196] а исследователь безопасности Чарли Миллер рекомендовал «не устанавливать Flash»; [197] однако для людей, которые все еще используют Flash, Intego рекомендовала пользователям получать доверенные обновления «только напрямую от поставщика, который их публикует». [198] Adobe Flash Player имеет более 1078 записей CVE , [199] из которых более 842 приводят к выполнению произвольного кода , а прошлые уязвимости позволяли шпионить через веб-камеры. [200] [201] [202] [203] Эксперты по безопасности давно предсказывали упадок Flash, заявляя, что с ростом HTML5 «... потребность в плагинах для браузеров, таких как Flash, уменьшается». [204]
Активные действия третьих лиц по ограничению риска начались с заявления Стива Джобса в 2010 году, что Apple не допустит Flash на iPhone , iPod Touch и iPad , ссылаясь на ужасную безопасность в качестве одной из причин. [205] Flash часто использовал возможность динамического изменения частей среды выполнения на языках OSX для улучшения собственной производительности, но вызывал общую нестабильность. В июле 2015 года серия недавно обнаруженных уязвимостей привела к тому, что главный сотрудник по безопасности Facebook Алекс Стамос обратился к Adobe с призывом полностью прекратить поддержку программного обеспечения [206] , а веб-браузер Mozilla Firefox , Google Chrome и Apple Safari внесли в черный список все более ранние версии Flash Player. [207] [208] [209]
Как и HTTP-cookie , flash-cookie (также известный как « локальный общий объект ») может использоваться для сохранения данных приложения. Flash-cookie не являются общими для разных доменов . Исследование, проведенное в августе 2009 года Ашканом Солтани и группой исследователей из Калифорнийского университета в Беркли, показало, что 50% веб-сайтов, использующих Flash, также использовали flash-cookie, однако политики конфиденциальности редко раскрывали их, а пользовательские элементы управления для настроек конфиденциальности отсутствовали. [210] Функции подавления или удаления кэша и истории большинства браузеров не влияли на запись локальных общих объектов Flash Player в свой собственный кэш в версии 10.2 и более ранних, когда сообщество пользователей было гораздо меньше осведомлено о существовании и функции Flash-cookie, чем HTTP-cookie. [211] Таким образом, пользователи с этими версиями, удалив HTTP-cookie и очистив файлы истории браузера и кэши, могут полагать, что они очистили все данные отслеживания со своих компьютеров, когда на самом деле история просмотра Flash осталась. Собственная панель Adobe Flash Website Storage Settings Архивировано 4 апреля 2012 г. на Wayback Machine , подменю веб-приложения Adobe Flash Settings Manager Архивировано 20 июня 2010 г. на Wayback Machine , а другие редакторы и наборы инструментов могут управлять настройками и удалять локальные общие объекты Flash. [212]
с сегодняшнего дня не будет никаких ограничений на использование спецификации SWF или спецификаций FLV и F4V, которые составляют видео во Flash. Раньше, чтобы ознакомиться со спецификацией SWF, пользователям приходилось подписывать лицензионное соглашение, чтобы не использовать ее для создания конкурирующих проигрывателей.
{{cite web}}
: Проверить |url=
значение ( помощь )Мы больше не будем продолжать разрабатывать Flash Player в браузере для работы с новыми конфигурациями мобильных устройств (чипсет, браузер, версия ОС и т. д.) после предстоящего выпуска Flash Player 11.1 для Android и BlackBerry PlayBook
Я рекомендую вам полностью отключить надстройку Shockwave Flash в IE.
Всего уязвимостей 291