Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Портировать проект на AS3 на другую технологию (http://www.flasher.ru/forum/showthread.php?t=212871)

Alex626 18.05.2016 03:03

Портировать проект на AS3 на другую технологию
 
Всем привет! Не знал, куда лучше написать: во флейм, в общие вопросы, или в чисто технический раздел по AS3.

Мой проект - это аналогия редактора FlowGraph в CryEngine (или же как вариант - blueprint в UE4, кому что нравится).

Вот как оно сейчас работает на флеше: http://wiki.crymod.net/index.php/Time_Travel_Tycoon_FG

Дело такое, все мы знаем, что Flash давно уже пытаются похоронить разные нехорошие компании вроде Apple, Google и прочих, и навязывают всем HTML5. Вот сегодня только новость была, что Chrome в 2016 году перестанет поддерживать Flash контент по умолчанию (что за нафиг?!!).

Мне нравится Flash, action script, AS2, AS3, Scaleform GFx (разрабатываю игры), Flash IDE, FlashDevelop и всё такое. Для HTML5 нет таких удобных языков и инструментов. JavaScript меня не устраивает категорически. Canvas - неудобная хрень. И всё такое. Я не знаю, что буду делать без флеша.

Но теперь такой вопрос: а как подстраховаться от полного провала? Что мы имеем сегодня в качестве замены ActionScript - точнее не замены, не альтернативы, а логического развития? Haxe, и все подобные вещи я не рассматриваю. Слишком уж все подобные фреймворки похожи друг на друга. Нет, нужна какая-то альтернативная жизнь для нашего опыта - компиляция из AS3 во что-то ещё.

Возможно, я слишком поздно начал создавать своё веб-приложение на Flash. Но мне оно нравится. А сейчас, когда все против Flash, я не хочу терять результаты своей работы, тем более, что были планы по развитию проекта во что-то большее. Flash мне нравится тем, что его можно скомпилировать под десктопы в AIR, а можно без всякого труда тот же код компилировать под веб-приложение в Flash Player.

Вот тема приложения: http://crymod.net/index.php?page=Thread&threadID=4832

Переписывать полностью код на другом языке или пытаться портировать? Я пробовал компилировать as3 в js через jangaroo, но так и не смог разобраться в нём.

Что мне (и всем нам) теперь делать? Что можете посоветовать? Какие есть перспективы, альтернативы, сторонние решения? Хочется как-то сделать, чтобы приложение работало в браузере при любом исходе Flash.

Ещё интересует, каково будущее Flash / AS3, есть ли надежда на что-то хорошее? Куда мигрирует большинство Flash-разработчиков, какие технологии они выбирают?

Всем спасибо за внимание, за то, что прочитали суть моей проблемы.

caseyryan 18.05.2016 05:52

Никаких альтернатив для браузера, кроме JS нет, и вряд ли будут. Если не нравится нетипизированный JS (мне, кстати, тоже он дико не нравится), то есть, например TypeScript, который поддерживает типизацию, и очень похож на ActionScript 3, но компилируется в чистый JS (пока еще).
Общая альтернатива - уйти на мобильные. AIR вроде как пока умирать не собирается, но и особого развития тоже не получает.
В своей подобной теме я уже писал, куда мы переходим после флеша.

Alex626 18.05.2016 19:47

Ну, хорошо, TypeScript. Это только язык. А связка для работы с ним, SDK и что-то подобное можешь посоветовать? И что можно придумать для уже написанного приложения? Есть ли варианты по автоматизации портирования? Есть ли адекватная инфа по Jangaroo? Вопросов тысячи)

gloomyBrain 18.05.2016 20:57

TypeScript транслируется в JS (транспилируется, если точнее). Никаких инструментов (SDK) кроме npm, node.js и самого tsc не требуется.
С тайпскрипт удобно работать в VS Code.
Для рендеринга на Canvas можно попробовать PIXI.js (под него кстати есть все нужные *.d.ts фалы где-то на гитхабе, так что работать с ним можно сохраняя типизацию).
Конечно, со всем этим придется разобраться. Но в целом для веба это вполне себе минимальный набор для игр. Конечно есть еще куча js-фреймворков для работы со звуками / загрузкой графики и прочим.

Zebestov 18.05.2016 21:09

Ну почему же куча. Howler.js прекрасно покрывает около 146% всех требований к звуку. Загрузка ресурсов в Pixi.js имеется своя. Остаются лишь твины, для работы с которыми удобно использовать в целом приятный TweenJS. Вот, пожалуй, и весь джентльменский набор в сборе.

Alex626 18.05.2016 21:49

А что касается вложенности DisplayObject с локальными системами координат у детей - этого можно добиться на js? И всё же интересно, касаемо религиозных вопросов: flash player под asm.js, трансляция AS3 в js через Jangaroo и всякое такое. Есть ли рабочие варианты или идеи?

Zebestov 18.05.2016 22:06

Есть вещи, которые не в шутку, а совершенно серьезно можно назвать бессмысленными и беспощадными, "flash player под asm.js, трансляция AS3 в js через Jangaroo и всякое такое" из их числа.

"Что касается вложенности DisplayObject с локальными системами координат у детей", то у того же упомянутого выше Pixi.js с этим полный порядок, как и у других популярных движков (или фреймворков, неважно) вроде CreateJS или более комплексного Phaser.

Alex626 19.05.2016 02:26

Насчёт DisplayObject - это очень радует меня :) Вопрос, насколько вы видите смысл в том, чтобы исходники на AS3 переписать в TypeScript? Будет ли это рационально и технологически правильно с точки зрения взаимозаменяемости и совместимости?

Цитата:

Сообщение от Zebestov (Сообщение 1194163)
Есть вещи, которые не в шутку, а совершенно серьезно можно назвать бессмысленными и беспощадными, "flash player под asm.js, трансляция AS3 в js через Jangaroo и всякое такое" из их числа.


Согласен. Однако упомянутый caseyryan Unreal Engine 4 умудряется компилировать свои C++ исходники в javascript и запускаться в браузере, что тоже вызывает у меня когнитивный диссонанс (а я пишу на C++). Однако это работает без плагинов и продвигается, как многообещающая технология.

Zebestov 19.05.2016 12:58

Цитата:

Сообщение от Alex626 (Сообщение 1194168)
Вопрос, насколько вы видите смысл в том, чтобы исходники на AS3 переписать в TypeScript? Будет ли это рационально и технологически правильно с точки зрения взаимозаменяемости и совместимости?

Лично я не использую никаких кроссплатформенных (FLASH-HTML5) технологий и пишу на AS3, переписывая врукопашную на JavaScript. При соблюдении некоторых правил такое портирование отнимает у меня предельно малое время. Поэтому я и могу позволить себе по-прежнему не любить HaXe и до последнего момента оттягивать знакомство с Unity3D или тем же Unreal Engine =)

Цитата:

Сообщение от Alex626 (Сообщение 1194168)
Однако упомянутый caseyryan Unreal Engine 4 умудряется компилировать свои C++ исходники в javascript и запускаться в браузере, что тоже вызывает у меня когнитивный диссонанс…

Но ведь это совсем другое. Это таки компиляция кода в JavaScript, а не создание JavaScript-прокладки для исполнения байт-кода Flash приложения.

Alex626 19.05.2016 18:38

Цитата:

Сообщение от Zebestov (Сообщение 1194173)
Лично я не использую никаких кроссплатформенных (FLASH-HTML5) технологий и пишу на AS3, переписывая врукопашную на JavaScript. При соблюдении некоторых правил такое портирование отнимает у меня предельно малое время. Поэтому я и могу позволить себе по-прежнему не любить HaXe и до последнего момента оттягивать знакомство с Unity3D или тем же Unreal Engine =)

Вот это хорошо, мне бы тоже хотелось дальше писать на AS3. Можете посоветовать какие-нибудь библиотеки, которые вы используете, когда переписываете на JS, мне тоже интересно.


Цитата:

Сообщение от Zebestov (Сообщение 1194173)
Но ведь это совсем другое. Это таки компиляция кода в JavaScript, а не создание JavaScript-прокладки для исполнения байт-кода Flash приложения.

Анриал штука сложная. Для визуального языка blueprint у них в самом деле работает виртуальная машина в движке, которая так же исполняет байт-код. Но в итоге 60 fps в браузере. Думаю, адоби при желании могли бы запилить опцию экспорта некоего Flash-проектора в HTML5, в процессе которого будет собираться минимальная сборка AVM/FlashPlayer, в которую встраивался бы байт-код ролика. Вроде shumway, только лучше. Другое дело, что адоби не хотят этого делать.


Часовой пояс GMT +4, время: 13:22.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.