Может быть любое количество проблем, на которые стоит обратить внимание. Вот некоторые из них, которые просто достигли моей головы:
- Ограничения Flash Player, которые не существуют в JVM, такие как возможность достижения «за пределами» прямоугольника границ игрока (и множества других).
- К сожалению, ActionScript 3 не имеет эквивалента java.lang.reflect.Proxy. Это означает, что (до сих пор) не существует достойных структур фиктивных объектов и ограничений в отношении отражения в целом.
- Мне неизвестны какие-либо возможности АОП в порядке, указанном в Java.
- Использует ли приложение Java библиотеки, не имеющие эквивалента во Flex и которые вы не хотите писать самостоятельно.
- Java-приложения могут обращаться к собственному коду с помощью JNI, тогда как с Flash Player это пока невозможно.
Даже если под «Flex» вы включаете платформу Adobe AIR, среда обычно гораздо более ограничена, чем JVM. Однако, не позволяйте этому вас обескуражить - вы получаете много преимуществ от использования Flex, таких как повсеместное выполнение, отличная среда разработки языка и компонентов и т. Д. Если ваше настольное Java-приложение представляет собой RIA, то Flex, вероятно, хороший кандидат на порт.