Как бы выглядел интернет, если бы Adobe не убила Flash

в 9:01, , рубрики: actionscript, adobe air, adobe flash, flash, flash player, html5, rtmp, ruvds_статьи, stage3d, Веб-разработка
Как бы выглядел интернет, если бы Adobe не убила Flash

Как бы выглядел интернет, если бы Adobe не убила Flash

Вспомните нулевые — браузерные страницы мигали баннерами и интерактивными элементами, игры запускались прямо во вкладке, а Flash Player был знаком почти всем. Но в 2020 году Adobe завершила его поддержку и начала блокировать Flash-контент. Так и закончилась эта история, а что было бы, если всё пошло иначе? Историю Flash и альтернативный сценарий разбираю в статье. 

Яркий рассвет и доминация 

Начнём с предыстории. В 1996 году небольшая компания FutureWave Software выпустила FutureSplash Animator — редактор векторной анимации с браузерным плагином, позволяющим воспроизводить анимацию прямо на веб-странице. В том же году его купила Macromedia, которая и назвала этот софт Flash. Спустя почти десятилетие, в 2005 году, компанию поглотила Adobe, и именно с этого момента началась эпоха Adobe Flash.

Как бы выглядел интернет, если бы Adobe не убила Flash - 2

Чтобы понять масштаб произошедшего, напомню, каким был веб конца девяностых и начала нулевых. HTML тогда в основном был таблицами для вёрстки, GIF-анимациями и JavaScript на уровне alert(). Java-апплеты уже существовали, но запускались мучительно долго и сильно «ели» память.

Всё, что создавалось во Flash — анимации, интерфейсы и даже игры, — сохранялось в файлах формата SWF (изначально Shockwave Flash), построенных на векторной графике. Это означало, что анимированный ролик мог весить десятки килобайт вместо мегабайт. Для всех стало открытием, что в эпоху диалапа векторные объекты могут масштабироваться без потери качества, а механизм твининга автоматически рассчитывал промежуточные кадры. 

Однако настоящая сила Flash была в ActionScript. Он появился в Flash 5 в 2000 году и сначала выглядел как скриптовый язык для управления анимацией, но уже в Flash MX (2004) вышла вторая версия с полноценной объектно-ориентированной моделью и статической типизацией. А в 2006 году был представлен ActionScript 3 — он базировался на черновике ECMAScript 4, идеи которой во многом перекочевали в современные надстройки вроде TypeScript.

Как бы выглядел интернет, если бы Adobe не убила Flash - 3

В ActionScript 3 появилась полноценная классовая модель, строгая типизация и компилируемый байткод, исполнявшийся виртуальной машиной AVM2. По сути, внутри браузера появился отдельный рантайм, способный выполнять сложные приложения, а не просто сценарии взаимодействия со страницей.

Дальнейшее развитие только усиливало лидерство. Flash Player 10 в 2008 году получил поддержку 3D-трансформаций через Matrix3D, а в Flash 11 появился Stage3D — аппаратно ускоренный рендеринг через GPU. Именно на нём работали движки вроде Away3D и Starling.

Как бы выглядел интернет, если бы Adobe не убила Flash - 4

К 2009 году Flash Player был установлен примерно на 99% настольных компьютеров с доступом в интернет. YouTube с момента запуска в 2005 году использовал Flash для видеоплеера, аналогично работали Hulu и Vimeo. Потоковое видео передавалось через RTMP — протокол Real-Time Messaging Protocol, разработанный ещё Macromedia. Любопытно, что именно этот протокол до сих пор используется в стриминге.

Отдельным культурным феноменом стали браузерные игры. После появления Stage3D разработчики получили доступ к GPU-ускоренной 3D-графике, и на Flash начали появляться проекты уровня мобильных хитов, включая версии Angry Birds. Даже Unity и другие игровые движки научились экспортировать проекты во Flash, используя Stage3D как графический слой.

Как бы выглядел интернет, если бы Adobe не убила Flash - 5

Flash вышел и за пределы браузера, потому что с помощью Adobe AIR приложения можно было упаковывать в десктопные и мобильные программы. Кроме того, через Scaleform он использовался для создания интерфейсов в крупных игровых проектах, включая Battlefield 3.

Казалось, тогда Flash достиг полной доминации, но именно в этот момент начался переломный момент.

Быстрый (относительно) закат 

29 января 2010 года Стив Джобс опубликовал открытое письмо Thoughts on Flash. В нём утверждалось, что Flash является проприетарной и устаревшей технологией, тогда как будущее веба должно принадлежать открытым стандартам. Часть аргументов действительно имела основания, часть была скорее стратегической риторикой.

Как бы выглядел интернет, если бы Adobe не убила Flash - 6

Отмечу, вышедший в 2007 году iPhone не поддерживал Flash. И несмотря на то, что Adobe активно разрабатывала мобильный Flash Player и выпустила его для Android в 2010 году, Apple просто отказалась допускать его в Safari и App Store.

Тем не менее письмо Джобса резко изменило восприятие технологии индустрией. Когда компания с самой лояльной аудиторией и одним из самых влиятельных CEO публично объявляет технологию устаревшей, это сильно влияет на имидж. Разработчики начали задумываться, стоит ли строить новые продукты на платформе, у которой нет будущего на мобильных устройствах.

В ноябре 2011 года Adobe фактически признала поражение и объявила о прекращении разработки Flash Player для мобильных платформ — это решение стало переломным моментом. С 2017 года от Flash начали отказываться браузеры, а уже к 2018 году его использовали только 5% сайтов. Остальные уже были на лидирующем HTML5, CSS3 и JavaScript. 

Как бы выглядел интернет, если бы Adobe не убила Flash - 7

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

Однако закат был предначертан, и HTML5 не главный виновник 

Было бы нечестно сводить историю падения Flash исключительно к победе конкурентов. У технологии действительно существовали серьёзные проблемы. 

Долгое время Flash Player работал фактически внутри того же процесса, что и браузер, поэтому любая уязвимость превращалась в потенциальную точку входа в систему пользователя. Лишь в 2012 году Adobe совместно с Google внедрила полноценную песочницу для Flash в Chrome через архитектуру PPAPI (Pepper Plugin API), что заметно снизило риски. Но к этому моменту репутация уже была подорвана.

Как бы выглядел интернет, если бы Adobe не убила Flash - 8

За годы существования Flash Player накопились сотни записей CVE, причём ежегодно обнаруживались десятки критических проблем. По данным Recorded Future, восемь из десяти наиболее активно эксплуатируемых уязвимостей в интернете относились именно к Adobe Flash. Практически каждый популярный эксплойт-кит того времени (Angler, Nuclear, Magnitude) обязательно содержал набор Flash-эксплойтов. Отчасти это было следствием колоссального распространения технологии, но не меньшую роль играли архитектурные решения.

Отдельной проблемой оставалась производительность. Flash требовал значительных вычислительных ресурсов и заметно нагружал процессор, особенно на мобильных устройствах. Смартфоны первых поколений с трудом справлялись с насыщенной Flash-анимацией, а батарея разряжалась с пугающей скоростью. 

Как бы выглядел интернет, если бы Adobe не убила Flash - 9

Слабым местом оказалась и система управления памятью. Виртуальная машина AVM2 использовала библиотеку MMgc, которая распределяла память блоками по 4 Кбайт и опиралась на отложенный подсчёт ссылок с консервативным алгоритмом очистки. В отличие от современных движков вроде V8, где память разделена на поколения, сборщик мусора в Flash Player мог останавливать выполнение всего приложения.

Иными словами, Flash не был вытеснен одной технологией. Он одновременно столкнулся с ростом требований к безопасности, сменой мобильной парадигмы и взрослением самого веба.

Альтернативная реальность: Flash жив

А что, если бы Adobe продолжила патчи и оптимизации? Flash уже наверняка научился бы GPU-ускорению (Stage3D) и аппаратному декодированию видео.

Как бы выглядел интернет, если бы Adobe не убила Flash - 10

Возможно, были бы выпущены новые версии Air и Flash Player с поддержкой многоядерности и лучшей защищённостью — то есть сайты могли бы оставаться интерактивными и при этом безопаснее. В итоге: 

Браузерный гейминг пошёл бы совсем другим путём

Одним из самых недооценённых последствий смерти Flash стало то, что вместе с ним исчезла альтернативная ветка развития браузерного гейминга. Если бы Flash продолжил развиваться, Unity WebGL и WebAssembly, скорее всего, заняли бы куда более скромную нишу. 

Как бы выглядел интернет, если бы Adobe не убила Flash - 11

Браузеры продолжали бы поддерживать Flash-контент, а благодаря Adobe AIR такие игры и приложения можно было бы упаковывать в нативные проги для ПК и смартфонов.

Фактически мобильное направление Flash не исчезло бы, а продолжило бы существовать через AIR. У Flash Lite, встроенного в телефоны ещё с 2003 года, появился бы полноценный наследник, работающий на Android и, возможно, даже на iOS.

Как бы выглядел интернет, если бы Adobe не убила Flash - 12

Видеостриминг развивался бы иначе

Любопытно, что Flash до сих пор незримо присутствует в инфраструктуре стриминга, но протокол RTMP занял очень узкую роль. Сегодня OBS, XSplit и практически любой стриминговый клиент с помощью него отправляют видео на сервер. После этого поток перекодируется и доставляется зрителям через HLS или DASH.

Если бы Flash продолжал работать в браузерах, RTMP вполне мог бы стать полноценным сквозным протоколом доставки видео. Зрители получали бы поток с задержкой в несколько секунд, что явно лучше привычных 10–30 у HLS. 

Как бы выглядел интернет, если бы Adobe не убила Flash - 13

Ещё интереснее выглядит судьба RTMFP — однорангового протокола из Flash Media Server. При достаточном развитии он мог бы занять нишу, которую позже занял WebRTC, и именно через него бы строились видеозвонки, браузерные конференции и прямые P2P-соединения между пользователями.

ActionScript мог стать стандартом для веб-разработки

Без преувеличения, в середине нулевых ActionScript 3 был одним из самых продвинутых языков для фронтенда. Он предлагал строгую типизацию, классическое объектно-ориентированное программирование, компиляцию в байткод AVM2 и полноценные тулзы для разработки.

Как бы выглядел интернет, если бы Adobe не убила Flash - 14

Если бы Flash сохранил доминирующее положение, вполне возможно, что индустрия заметно раньше получила бы сильный язык с классами, строгой типизацией и пространствами имён. В таком мире TypeScript, появившийся в 2012 году, мог бы просто не понадобиться.

Корпоративный веб на Flex

Отдельная часть альтернативной вселенной связана с корпоративной разработкой. Flex Framework — платформа разработки на ActionScript, превращала Flash Player в среду для полноценных интерфейсных приложений в браузере.

Как бы выглядел интернет, если бы Adobe не убила Flash - 15

Если бы Flex продолжил развиваться, вместо того чтобы медленно исчезать вместе с Flash, многие компании избежали бы нескольких волн переписывания интерфейсов и миграций.

Flash умер, но экосистема жива 

Интернет с Flash остался бы красочным, но тяжеловесным и закрытым. Сайты буквально бы фонтанировали анимациями, но пришлось бы вечно гоняться за новыми патчами. Развитие веба в целом пошло бы медленнее — открытые стандарты явно не вырвались бы вперёд. 

Отказ от Flash же позволил перейти на «чистый» код и сделать интернет быстрее и надёжнее. Теперь любой браузер может воспроизводить видео и анимацию без проприетарных плагинов, а безопасность выросла за счёт открытых технологий. Как бы ни было ностальгично смотреть на старые флеш-странички, нынешний веб стал намного универсальнее.

А если вы всё-таки хотите посмотреть, каким мог бы быть этот веб, — откройте Newgrounds с включённым Ruffle. Там до сих пор живут флеш-игры и интерактивные мультфильмы, а также проводятся конкурсы на новые работы. Также флеш-игры можно потыкать тут

Признавайтесь, скучаете по эпохе тем самым интерактивным страничкам и Flash-плагину?

© 2026 ООО «МТ ФИНАНС»

Автор: SrvTrantor

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js