Подтвердить что ты не робот

ActionScript 3 vs Haxe: что выбрать для нового проекта Flash?

Я на стадии планирования нового проекта Flash-игры и задавался вопросом, какой язык лучше использовать? У меня уже есть сильное понимание ActionScript 3, и я еще не работал с Haxe, но я прочитал документацию по языковым ссылкам, и кажется, что у Haxe есть некоторые функции из моих других любимых языков С# и Ruby.

Итак, мой вопрос состоит из двух частей:

1) Может ли Haxe взаимодействовать с компонентами Flash (swc файлы)? Например, если я использую Flash IDE для защиты некоторых элементов управления, могу ли я импортировать эти элементы управления и использовать их в Haxe?

2) Есть ли преимущества в производительности для компилятора Haxe? или какие-либо ошибки?

4b9b3361

Ответ 1

1) Да, и нет. Начиная с 2.03 Haxe может экспортировать SWC. Это означает, что вы можете написать свой код в Haxe, скомпилировать его в SWC, а затем использовать этот SWC с Flash. Прямо сейчас Haxe не поддерживает вход SWC, только выход (хотя я считаю, что они работают над этим).

2) Да, есть преимущества при использовании Haxe - в отличие от компиляторов Adobe. Haxe на самом деле делает некоторые оптимизации во время компиляции (это было серьезной проблемой для сообщества в течение некоторого времени). Кроме того, Haxe использует некоторые "скрытые" новые байт-коды, которые появились с Flash Player 10, которые в настоящее время не используются ни Flash, ни Flex - только Adobe Alchemy (который перекрестно скомпилируется из источника C/С++ в SWC).

Единственная "гоча", о которой я знаю, это то, что это как-то вроде bizzaro ActionScript - вещи просто различны, и это будет очень дорого. Это, как говорится, с такими функциями, как дженерики и более быстрый код, которые нужно заплатить за небольшую плату!

Ответ 2

Вы можете найти много полезных материалов на lib.haxe.org... (checkout haxelib в этом отношении (немного похоже на рубиновые камни, можно сказать))... там также преобразователь AS3 в Haxe... так что можно попробовать перевести соответствующие части corelib в Haxe... некоторые ручные исправления будут необходимы, хотя, я думаю... когда дело доходит до элементов управления, просто ознакомьтесь с библиотеками Haxe gui... там пара плавающих вокруг Интернета...

Теперь Haxe профи: хорошая вещь о Haxe заключается в том, что компилятор работает намного быстрее, поэтому вы не тратите много времени на компиляцию... серьезно, это имеет значение...

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

Тем не менее, самое лучшее в Haxe заключается в том, что когда я прихожу писать сервер, вы можете оставаться на одном языке, а такие вещи, как Haxe remoting, делают вашу жизнь очень легкой...

Есть несколько AS3-профи, но дело в том, что большинство из них просто связано с тем, что если вы попытаетесь решить проблемы в Haxe так, как вы бы в AS3, язык кажется странным и демонстрирует неожиданное поведение во время выполнения... если вы остаетесь строгим и набрали, все получится идеально...

Надеюсь, что это поможет...;)

Greetz

back2dos

Ответ 3

Новый выпуск Haxe сегодня. Добавляет официальную цель С++.

Итак, теперь вы можете нацелить ActionScript и С++ на один и тот же источник.

Ответ 4

NME улучшает кросс-платформенную поддержку Haxe для обеспечения единого API для приложений Windows, Mac, Linux, Android, iOS, webOS, Flash и HTML5 без проблем.

Компилятор Haxe заметно быстрее, чем MXMLC, особенно если вы используете компиляцию из Flash IDE вместо среды IDE, на которой размещена оболочка компилятора Flex, например FlashDevelop. Как уже упоминалось, есть также ряд дополнительных функций языка, таких как итераторы, typedefs, structs, макросы и другие приятные для использования.

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

Наконец, есть библиотека SWF, которая позволяет получить доступ к SWF-контенту из С++. Конечно, это всегда было возможно на цели Flash, но вскоре было бы разумно определить интерфейс в Flash IDE и использовать его в мобильных или настольных приложениях на С++, а также в объекте Flash/AIR.

Ответ 5

1) Вы можете включить одну swf-библиотеку (вместо swc) при компиляции с использованием аргумента компилятора -swf-lib, и если вам нужно больше одной библиотеки, вы можете объединить несколько, используя инструмент swfmill. Вот пример этого в Haxe docs.

2) Бренден прекрасно ответил на это: хотя я мог бы добавить, что одна из функций, улучшающих производительность, особенно в флеш-приложениях, - это "inlining". Так как Николя (создатель Haxe) добавил еще более байт оптимизации на встроенные функции. И там еще больше тех оптимизаций запланировано.