Выбор для разработки мультиплатформенных приложений

Мне очень нравится ActionScript, и я работал над проектом с Apache Flex 4.12. Изначально мое мобильное приложение было построено на mxml и работало ужасно. Затем я переписываю приложение с однострочным файлом mxml, а остальную часть проекта в чистом as3, производительность намного лучше.

Теперь у меня есть еще один проект, это мультиплатформенное информационное приложение с некоторыми возможностями электронной коммерции, ориентированными как на настольную, так и на мобильную платформу, и мне нужно решить, с точки зрения производительности / гибкости / масштабируемости, следует ли мне придерживаться Flex (mxml) / Flex. (чистый as3) / или чистый AS3 со Starling + FeathersUI + as3-signal?

Я думал о переходе на подход Starling, но я вижу улучшения по сравнению с выпуском Flex 4.14, кто-нибудь может указать мне направление, какой подход является более перспективным в долгосрочной перспективе?

Извините за мой плохой английский, так как я не являюсь носителем языка. Спасибо.


person Optimus Frog    schedule 07.02.2015    source источник


Ответы (1)


Пожалуйста, изучите Haxe (www.haxe.org) и OpenFL (www.openfl.org) как альтернативу Starling.

Haxe - это язык программирования, очень похожий на сценарий действия 3.
OpenFL - открытая флеш-библиотека - это фреймворк для языка программирования Haxe.

Преимущества: Haxe + OpenFL:

  • Потрясающая производительность
  • Быстрая и легкая разработка
  • Отсутствие кривой обучения для программиста AS3 (хотя вам, возможно, придется потратить 10 минут на изучение циклов и приведений)
  • 99% тот же API, что и Flash API

Я не рекомендую Starling, потому что: это все еще AIR, и он вам не нужен, производительность ниже среднего, вам нужно переписать всю кодовую базу для Starling, вы не сможете перенести свой игру за пределами Starling, не переписывая ее снова, и тот факт, что вы не сможете компилировать на множество различных платформ, кроме тех, которые поддерживаются в настоящее время.

person Creative Magic    schedule 07.02.2015
comment
Это уместно или обычно используется для развития предприятия? Т.е. приложения с большим объемом данных с большим количеством полей ввода, сложными экранами, сложными правилами проверки, высокодинамичными экранами пользовательского интерфейса и т. д. Игры - хорошо, но как насчет того, чтобы показать мне много данных, форм ввода и интерактивных диаграмм? Насколько хорошо он интегрируется с сервером JEE? По сути, это прямой конкурент Apache FlexJS? - person User; 10.02.2015
comment
Да, это. Многие крупные компании используют Haxe (TiVo - самая крупная из известных мне), и многие разработчики игр используют OpenFL. Кроме того, Haxe - очень зрелый язык, во многом похожий на C #, но в большем масштабе служащий другой цели. - person Creative Magic; 10.02.2015
comment
Как вы думаете, Haxe по-прежнему сохраняет мощную функцию as3, такую ​​как функция и закрытие для первоклассных граждан? Как выглядит система событий? Может ли он генерировать собственный код и исполняемые файлы и работать без другого программного обеспечения? какая поддержка родной платформы? В AIR с ANE я могу добиться почти всего, что может делать собственная платформа, от push-уведомлений до связи через COM-порт RS232. Что касается производительности, скворец позволил мне показать на экране 500 движущихся объектов со скоростью 20 кадров в секунду на моем iPhone 5s. Если Haxe сможет добиться этого, я бы попробовал. - person Optimus Frog; 10.02.2015
comment
1) Haxe не зависит от AS3, это просто надмножество ECMAScript, точно так же, как JavaScript, AS3, C # и т. Д. 2) Система событий такая же, как в AS3, но вы можете создавать даже более сложные системы, такие как сигналы и т. Д. 3) Это делает генерировать собственный код без оболочки. На самом деле это очень круто и мощно, проверьте это, есть масса образцов. 4) Вы также можете использовать ANE с Haxe, если хотите. 5) Я лично создал фреймворк для класса Tilesheet и могу визуализировать более 20 тысяч объектов на iPod Touch. Так что вам обязательно стоит попробовать. - person Creative Magic; 10.02.2015
comment
Существует ли структура, подобная RIA, аналогичная той, что предлагает Adobe / Apache Flex с точки зрения функциональности пользовательского интерфейса и интеграции с серверами JEE (например, RMI)? Будет ли это включать сервлеты и использование сторонних библиотек для анализа json / xml? Подходит для гибернации? Попытка определить, является ли это продуктивным вариантом для использования с серверной частью Java без потери тех возможностей, которые у нас уже есть. - person User; 10.02.2015
comment
@Perce, да, есть порты OpenFL, Haxepunk, HaxeFlixel и даже Starling. Когда вы исследуете haxelib, вы обнаружите, что существует множество библиотек для Haxe, некоторые из которых были перенесены из AS3. - person Creative Magic; 11.02.2015
comment
OpenFL и HaxeFlixel, похоже, очень ориентированы на игры, действительно ли кто-нибудь использует их для бизнес-приложений, ориентированных на данные? Будут ли они иметь такие вещи, как сетки данных, автоматическое завершение в раскрывающихся меню или другие компоненты пользовательского интерфейса для работы? (Другая библиотека заблокирована там, где я работаю, вероятно, потому, что она на самом деле связана с игрой, чтобы проиллюстрировать часть проблемы.) Не пытаясь усложнить задачу, но чтобы использовать Haxe в серьезном бизнес-приложении, мне нужно знать, что есть другие, которые делают то же самое, и что существуют SDK, которые удовлетворяют эти конкретные потребности. В противном случае это слишком рискованно. - person User; 13.02.2015
comment
@Perce просто используйте Haxe API, в нем есть все, что вы упомянули. Также есть библиотека под названием haxeui - очень мощная библиотека пользовательского интерфейса, а также множество примеров: haxeui.org - person Creative Magic; 13.02.2015