31 декабря 2020 года Adobe Flash Player официально «похоронят»: он перестанет получать обновления, компания удалит страницу с его загрузкой и заблокирует контент на его основе. Когда-то одна из основных технологий в веб-дизайне и геймдеве устарела и ее вытеснили новые стандарты вроде HTML5.

Редакция AIN.UA нашла разработчиков и компании, которые специализировались на Flash, и спросила, что они выбрали вместо него и чем занимаются сейчас. Мы задавали два вопроса:

  • Когда и почему решили переучиваться?
  • Какие технологии выбрали, с чем работаете сейчас?

Дмитрий Федоренко, партнер digital-агентства Seventeam (ранее Studio7):

Macromedia Flash, а потім вже Adobe Flash реально стали революцією в веб-дизайні. В період свого розквіту кожна серйозна digital-агенція, і ми — не виключення, якщо не повністю спеціалізувалась на Flash-розробках, то точно мала в штаті Flash-аніматора і Flash-програміста.

Flash докорінно змінив не тільки підхід до створення сайтів, а і виготовлення інтернет-банерів. Ми отримали можливість інтеграції в банери повноцінних відео, 2D-анімації, інтерактивних форм, промоігор з призовими механіками, реалізацію фейс-маппінгу і навіть друк промостікерів з кодами. У веброзробках сайти, розроблені на Flash, отримували нагороди на всіх престижних фестивалях. Навіть плейєр YouTube довгий час був флешевим.

Але, наскільки я пам’ятаю, вже в 2010 році ми ще створювали технологічні проекти на Flash, але ця технологія не була для нас ключовою. Фактично смерть Flash наступила в момент, коли гонку браузерів вступив Google зі своїм Chrome і Apple зі своїм небажанням ділитись прибутками від застосунків з будь-ким.

Але, оскільки відмова від Flash відбувалась досить поступово, то більшість студій встигли переорієнтувати Flash-розробників у фронтенд-програмістів на HTML5 і Java-аніматорів.

Не можу говорити за всіх, але знаю шлях деяких членів команди флешерів Studio7 (сьогодні Seventeam). Мій головний флешер, Павло Блажиєвський, який був за освітою живописцем, прийшов в нашу команду аніматором на анімаційний серіал «Ліво і Право». Він так проникся ідеєю програмування в ActionScript, що органічно мігрував в просунуті Flash-програмісти. Ще пізніше він повністю відійшов від Flash до створення інтерактивних проектів на HTML5. Сьогодні він працює в Польщі в геймінговій індустрії на позиції мультимедіа-дизайнера.

Керівник цього ж анімаційного проекту, Олександр Цивінський, перейшов до класичної анімації і працює над рядом масштабних анімаційних проектів в якості лідера. Ще один талановитий молодий флешер, Сергій Шевченко, з яким я працював над проектами для клієнтів нашої агенції попроектно, взагалі мігрував в категорію арт-проектів і мультимедіа-перформансу.

Іншими словами всі спеціалісти, які займались створенням інтерактивного електронного контенту так чи інакше залишились в індустрії і продовжують розвиватись в цій категорії.

Александр Благодаренко, CEO Uni-Bit Studio (развернул направление студии с Flash на Unity3D):

Как работали с Flash:

Я занимаюсь разработкой игр с 2007 года, сначала как учредитель небольшого стартапа Sun-Dev, потом — соучредитель компании Bear Games (ex-Crystal Clear Soft) в 2008 году, и впоследствии учредитель и фаундер Uni-Bit Studio Inc. в 2011 году.

В то время социальные сети набирали оборот, Facebook, «ВКонтакте», «Одноклассники», Fotostrana, Dragium.lv и пр. Все они предоставляли площадки для размещения игр, а самым популярным языком программирования для фронтенд-разработки игр был ActionScript2 и впоследствии ActionScript3, в народе известный как Adobe Flash. Мы также работали с ним, выпустили несколько успешных игр, нас фичерил «ВКонтакте», Fotostrana, Dragium.lv.

Начиная с 2010 года, когда вышел iPhone4, мы так же сконцентрировались и на мобильной разработке. В то время еще не было супернавороченных и удобных движков для создания игр для мобилок, многие (и мы в том числе) портировали свои игры с соцсетей на мобилки с использованием Adobe Air, которая позволяла использовать тот же код Flash, но работало это ужасно, производительность была низкая.

Магазины на мобилках были развиты плохо и основной доход все еще приходился на соцсети, а это направление оставалось экспериментальным (не беру в учет тех кто делал старые Java-игры для телефонов и имел контракты с дистрибьюторами).

Отдельным звоночком было заявление Стива Джобса в 2010 году о том, что Adobe Flash не будет поддерживаться компанией Apple и поставляться с их устройствами.

Когда решили уходить с Flash:

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

В 2014 году был анонсирован HTML5 и это был приговор для Flash. В этот день мне стало ясно, что Adobe Flash умрет, как я думал, в 2016-2017 году, но, как видите, дотянул до 2021.

Немного не угадал.

Собственно в том же году все наши проекты в соцсетях остались на поддержке, большую часть команды мы начали переучивать на Unity и небольшую — на HTML5. Эти языки были выбраны как самые близкие по своей природе к ActionScript3.

Так как наш бизнес работает и над своими проектами и на аутсорс, в том же году я начал активно искать заказы на разработку мобильных игр с использованием Unity3D. Мы достаточно быстро нашли партнеров, которые доверили нам разработку на новых для нас технологиях.

С тех пор мы разрабатываем мобильные игры и AR/VR-проекты на Unity3D, веб-игры и казино на HTML5. Мы рады, что тогда приняли стратегически правильное решение.

Технический комментарий о сложностях перехода с AS3 на Unity3D:

На самом деле очень сложно выделить основные сложности, связанные с переходом именно из AS3 к чему то другом. Скажем так, разработчик столкнется с такими же сложностями при переходе как от AS3 -> C# Unity так и с С# Unity -> C++ Unreal.

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

Наиболее распространенная платформа для перехода из AS3 — это конечно C# Unity, основные моменты, которые можно выделить в плане адаптации к языку, это:

  • объявления
AS3: [protection specifier] (function | var) name : type; 
C#: [protection specifier] type name; 
  • геттеры и Сеттеры в AS3 — это функции
private var _description:String; 
public function get description():String  
{      
return _description;  
} 
public function set description(value:String):void  
{     
_description = value; 
} 

тогда как в C# их нужно объявить как свойства

private string m_Description; 
public string Description 
{     
get => m_Description;     set => m_Description = value; 
} 
  • Привычный в AS3 Array, который подразумевает массив данных нестрогой типизации, в языках со строгой типизацией (например C, Java, C#;), может привести к нежелательному boxing / unboxing, либо в принципе расцениваться как антипаттерн.

Александр Бурдун, бывший Flash-разработчик, экс-тимлид в Playtika:

Flash был первой технологией, на которой я начал делать какие-то энтерпрайз-проекты. Несколько лет работал именно на нем. Какого-то желания переучиться с Flash на что-то еще никогда не было, просто подбирал технологии под задачи.

В какой-то момент возник проект, с которым Flash объективно не справлялся (было достаточно много 3D). Мы собрали прототип на Flash, а он получился довольно тормознутым. А на Unity все то же самое работало быстрее, таким образом и выбрали его. Выучить его проблем не составило, таким же образом я позднее участвовал в проекте на Xamarin — тоже проблемы выучить не было.

Нельзя сказать, что я что-то выбирал «вместо Flash». скорее выбирал технологии, которые лучше подходили для решения конкретных задач.

Руслан Ризванов, бывший Flash-разработчик:

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

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

Примерно в 2010 году я решил сосредоточиться на пакете Adobe After Effects, хоть и в ущерб интерактивности, но с широким простором для motion-design. Разумеется, After Effects — это инструмент видеодизайна и для веб-использования напрямую никогда не был ориентирован. Поэтому веб-направление пришлось оставить.

Тем не менее, спустя несколько лет появился набор из библиотеки Lottie и плагина Bodymovin, который добавил недостающие функции. И стало возможно непосредственно из After Effects экспортировать анимацию для использования в кросс-платформенных приложениях и веб-сайтах.

Важно, что на выходе получается анимация векторной графики в контейнере json. Она запросто масштабируется без потери качества под любой экран, размер файла минимален, нагрузка на систему тоже не значительна. Вдобавок расширение библиотеки Lottie Interactivity добавляет функции взаимодействия с пользователем.

Вцелом, Lottie-анимация выглядит эффектно, легко и не требует от пользователя установки новых компонентов или обновлений. На данный момент библиотека является open source, есть сайт с множеством готовых анимаций, и, думаю, в дальнейшем у нее — хорошие перспективы.

Артем Сафронов, игровой разработчик:

С Flash работал, начиная с ActionScript2 — кодил логику для анимаций и очень простых мини-игр. На ActionScript3 были социалки: «Ферма», Match-3, казино. В 2013 начал поглядывать в сторону Unity из чистого любопытства, к тому же интересовал именно игровой 3D-мир.

К 2014 Unity втянул уже бесповоротно и рассматривать на Flash возможности работать с 3D даже не стал. Сложности перехода были: Flash существует внутри плагина, и то, где находится этот плагин, самих флешеров не очень-то сильно волнует. В Unity все не так: придется знакомится со множеством платформенных нюансов. Я не уверен, что корректно говорить про переход с Flash на что-то другое, скорее это: выйти из Flash и изучить окружающий его мир.

Для начала: придется ознакомиться с принципами работы любого из 3D-редакторов (Maya, 3ds Max, Blender) Также не помешает освоить OpenGL — это даст не только понимание процесса рендеринга, но и принципов организации объектов на сцене. Ну и как минимум ознакомится с нюансами сборки приложения под разные платформы: iOS, Android, Windows…