Почему Flash-разработчикам стоит переходить на Unity
И как этому способствует индустрия
В свое время Flash активно использовался для создания веб-приложений, мобильных игр и запуска мультимедиа в браузере. Но время технологии прошло. Браузеры отказываются от технологии, блокируя воспроизведение flash-контента. А Adobe, владелец сервиса, выступил в пользу открытого стандарта HTML5.

В то же время рынок разработки игр на Unity растет. Unity Technologies, компания-создатель игрового движка, утверждает, что 34% наиболее доходных игр сделаны на основе ее разработок. Движок также занимает лидирующие позиции на растущем рынке виртуальной реальности: 90% VR-игр на Samsung Gear и 53% на Oculus Rift сделаны на Unity. В 2016 выручка Unity составила $210 млн. Компания планирует получить $300 млн в 2017.

Редакция AIN.UA собрала информацию об актуальном состоянии двух технологий, постаралась объяснить, почему флешерам стоит обратить внимание на Unity и узнала, что думают разработчики о переходе c Flash на Unity.
Автор:
Федор Шайко

Материал подготовлен при поддержке Murka
Что это значит?

Этот материал подготовлен журналистами AIN.UA по редакционным стандартам и опубликован при поддержке рекламодателя.
Почему и как умирает Flash
От технологии отказываются принудительно. Chrome перестал поддерживать Flash в конце 2016, заблокировав автозапуск сервиса. Microsoft планирует поступить аналогичным образом в Edge и IE в 2019. Firefox перестанет поддерживать плагин в 2020.

Смерть Flash частично ускорила Apple. Известно, что Стив Джобс относился к технологии критически. Поэтому в iPhone и iPad сервис никогда не использовался. macOS не ушла далеко, там Safari запрашивает разрешение на запуск Flash при каждой загрузке веб-страницы.
Прекращение поддержки Flash
Apple
Chrome
Firefox
Edge
Adobe
Не
поддерживала
2020
2020
2019
2020
Adobe откажется от Flash Player в 2020. Компания объясняет решение развитием и функциональными преимуществами других стандартов: HTML5, WebGL и WebAssembly.

Дело не только в более прогрессивных решениях-конкурентах. У технологии также проблемы с безопасностью. В июле 2015 Mozilla пришлось в экстренном режиме временно отключить плагин Adobe Flash в Firefox из-за найденной критической уязвимости, которая позволяла удаленно выполнить вредоносный код.
Чем интересен Unity для разработчиков
Движок предоставляет единую среду разработки с широким набором инструментов. Это увеличивает возможности разработчика и упрощает процесс программирования.
Unity основан на C# – высокоуровневом языке программирования. Он позволяет быстрее вливаться в разработку. У C# много элементов и методов «с коробки», которые можно просто брать и использовать.

При портировании без использования Unity, разработчикам приходится работать с целым набором технологий. Это усложняет разработку и влечет за собой другие последствия: переносы дат релизов и увеличение бюджетов. Движок сокращает ресурсы, необходимые для развития проекта, благодаря кроссплатформенной интеграции. Один и тот же код, написанный в Unity, можно портировать на разные платформы: Windows, Mac, Android, iOS, Web и другие системы с минимальными изменениями.
Нововведения Unity в 2017
Что думают специалисты индустрии
Артем, руководитель клиентской разработки в Murka
В конце 2014 года мы решили начать разрабатывать на Unity. Ожидали получить от движка более высокую производительность, чем от Flash, и более удобную работу с графикой по сравнению с Cocos2d.

Большое преимущество Unity – кроссплатформенность. Разрабатывая проект на движке, не нужно содержать две команды для разработки – под Web и Mobile. Можно четко разделить работу между сборщиками графики, аниматорами, sound-дизайнерами и разработчиками.
Мы решили попробовать разработать новый проект на Unity силами Flash разработчиков. Создали небольшую команду, которая начала изучать движок.

Языки С# и ActionScript 3.0 очень похожи между собой, но у C# больше возможностей (к примеру, дженерики, лямбда-выражения, абстрактные классы) поэтому особых сложностей не возникло. Возможности редактора изучались по мере надобности.

За 3 года в компании перевели с Flash на Unity больше 10 разработчиков и выработали методологию их переобучения. В нее входит быстрое изучение редактора (в котором много функционала, разных меню, кнопок и изначально кажется что это невозможно выучить), а также изучение основных отличий языков.
Андрей, Unity-разработчик в Murka, бывший Flash-разработчик
Первое ознакомление с Unity прошло довольно быстро – после просмотра обучающих материалов по интерфейсу и скриптингам стал понятен сам принцип создания игр на движке.
Появился выбор между языками программирования – UnityScript (JS) и C#. Конечно UnityScript один в один похож с синтаксисом Action Script 3. Я начал использовать его, чтобы вникнуть в работу с движком, но буквально через неделю перешел на C# – у него намного больше возможностей самого языка.

Непривычно было использовать строгую типизацию C#. Переход занял некоторое время, иногда даже очевидный код не работал с первого раза.

Дальше изучение Unity было очень быстрым, необходимый функционал изучался по мере надобности.

В процессе работы над небольшим проектом сформировалось понимание того как должна строиться архитектура приложения, что привычный MVC тут не подойдет.
Плюсы
1
Удобный интерфейс
2
Возможность поменять значения без перекомпиляции и даже без перезапуска приложения
3
Быстрое портирование на популярные платформы: iOS, Android, WebGL
Минусы
1
Игры для веба занимают больше места
Анатолий, продуктовый директор в Murka
Мы создали инициативу Unity School на базе компании. Это был внутренний курс, который преследовал одновременно несколько целей.

Мы пригласили на него всех желающих, независимо от их специализации. Но наибольшую агитационную работу провели с ActionScript разработчиками и менеджерами. Зачем менеджеры? Чтобы повысить их техническую грамотность. Это помогло повысить техническую осознанность менеджеров, чтобы они могли прочувствовать всю боль и заботы разработчиков.

Сам курс состоял из нескольких модулей:
  • общий обзор Unity;
  • основы программирования;
  • особенности программирования для Unity;
  • финальный проект.

Благодаря этому курсу мы популяризировали Unity в компании и смогли вызвать заинтересованность у людей. Некоторые начали изучать его в свободное время.

Таким способом мы смогли приступить к разработке полноценного проекта, не наняв ни одного разработчика по Unity.
Короткометражка ADAM, сделанная на Unity
© 1999—2017 AIN.UA
[email protected]
Made on
Tilda