Можно ли запускать приложения JavaFX на iOS, Android или Windows Phone 8?

105

Можно ли разработать целое приложение с помощью JavaFX и запустить его на iOS, Android или Windows Phone 8 без написания кода для конкретной платформы?

ммм
источник
1
Я так не думаю. Смотрите здесь: news.kynosarges.org/2013/10/10/javafx-on-ios-android
Виктор К.
1
Oracle разрабатывает ADF для мобильных устройств. Посмотри на это. Он поддерживает iOS и Android.
Александр Киров
Просто поищите слово javafxports на сайте www. Большинство функций javafx отлично работают на windows / android / iOS. На данный момент есть несколько функций, которые еще не работают на Android, такие как: Task.cancel () или международные символы Unicode, или медиаплеер fx и т. Д.
Амин

Ответы:

61

Задний план

Ответ Invariant - хороший источник информации о том, как все было запущено и в каком состоянии находился JavaFX на встроенных и мобильных устройствах в начале 2014 года. Но с тех пор многое изменилось, и пользователи, наткнувшиеся на эту ветку, не получают обновленную информацию.

Большинство моих замечаний связаны с ответом Invariant, поэтому я предлагаю сначала пройти его.

Текущий статус JavaFX на мобильных устройствах / встроенных устройствах

Сначала плохие новости:

А теперь хорошие новости:

  • JavaFX по-прежнему работает на Android, iOS и на большинстве встраиваемых устройств.
  • JavaFXPorts SDK для Android, iOS и встраиваемых устройств можно скачать здесь
  • Проект JavaFXPorts по-прежнему процветает, и запускать JavaFX на мобильных устройствах стало проще, чем когда-либо, благодаря подключаемым модулям IDE, которые построены на основе этих SDK и позволяют начать работу за несколько минут без проблем с установкой любого SDK.
  • JavaFX 3D теперь поддерживается на мобильных устройствах
  • GluonVM заменяет RoboVM, обеспечивая поддержку Java 9 для мобильных разработчиков. Да, вы не ослышались.
  • Мобильный проект был запущен Oracle для поддержки JDK на всех основных мобильных платформах. Он также должен поддерживать JavaFX;)

С чего начать

Если вы не любитель DIY, я бы посоветовал установить плагин IDE в вашу любимую среду IDE и начать работу.

Большую часть документации о том, как начать работу, можно найти здесь, а некоторые примеры - здесь .

Итачи Учиха
источник
Я не уверен, когда вы в последний раз использовали JavaFX, но в JavaFX 8 было внесено много улучшений. Многое также изменилось с начальных портов JavaFXPorts на Gluon Mobile.
ItachiUchiha
Спасибо за это обновление. Быстрый вопрос: можно ли использовать JavaFXPorts в коммерческих целях (используя библиотеку, а не изменять ее)? У меня есть кодовая база JavaFX, которую я надеюсь как-нибудь интегрировать в Android. Gluon Mobile предлагает бесплатную пробную версию, но мне нужно постоянное решение. Является ли решение JavaFXPorts (не Gluon Mobile)? Уточните, пожалуйста,
Нова
@ Нова Привет. Да, JavaFXPorts находится под исключением GPLv2 + CLASSPATH, поэтому вы можете использовать его в своем проекте, не беспокоясь. Но поскольку JavaFXPorts просто предоставляет вам минимальную поддержку (без поддержки IDE + без мобильных элементов управления), я бы скептически отнесся к выбору его для чего-то коммерческого. Gluon Mobile можно использовать бесплатно, у него просто появляется экран Nag при запуске вашего приложения (для бесплатной версии). Но вы можете избавиться от него, когда ваше приложение популярно, заплатив комиссию :)
ИтачиУтиха
@ItachiUchiha, звучит многообещающе! Последний вопрос: сравнение продуктов Gluon Mobile, приведенное здесь, показывает, что экран с ворчанием - единственное различие между уровнем бесплатного пользования и уровнем инди. Можно ли предположить, что я могу использовать бесплатную версию для коммерческого использования неограниченное время? То есть без срока годности? Я могу справиться с этим, пока деньги не поступят :) Спасибо за разъяснения
Нова
1
Извините, еще один вопрос: мой код JavaFX на 90% завершен с более чем 20 000 строк кода. Могу ли я интегрировать Gluon Mobile в свою кодовую базу ... или мне нужно использовать его с самого начала, прежде чем я напишу хоть одну строчку? Спасибо
Нова
75

Да, вы можете запускать приложение JavaFX на iOS, android, настольном ПК, RaspberryPI (пока нет Windows8 Mobile).

Работа в действии:

Мы сделали это! Мультимедийный проект JavaFX8 на iPad, Android, Windows и Mac!

JavaFX везде

Ensemble8 Javafx8 Android Demo

Мой пример приложения JavaFX, работающего на Raspberry Pi

Мой пример приложения, работающего на Android

JavaFX на iOS и Android

Ресурсы для разработчиков:

Android:

Создание и развертывание приложений JavaFX на Android

iOS:

Поддержка NetBeans для JavaFX для iOS прекращена!

Разработайте приложение JavaFX + iOS с помощью инструментов клипов RoboVM + e (fx) за 10 минут

Если вы собираетесь разрабатывать серьезные приложения, вот дополнительная информация

Разное:

В настоящее время для JavaFX приоритетным списком Oracle является Desktop (Mac, windows, linux) и встроенный (Raspberry Pi, beagle Board и т . Д.). Для iOS / android oracle выполнил большую часть тяжелой работы и предоставил javafxports для этих платформ как часть OpenJFX, но есть - это не JVM от oracle для ios / android. Сообщество собирает все вместе, заполняя недостающий фрагмент (JVM) для ios / android, Сообщество добилось значительных успехов в запуске JavaFX на ios ( RoboVM) / android ( DalvikVM ). Если вы хотите, вы также можете внести свой вклад в сообщество, спонсируя ( стать спонсором RoboVM ) или начать разработку приложений и сообщать о проблемах.

Изменить 23.06.2014:

Йохан Вос создал веб-сайт для портов javafx, JavaFX для мобильных устройств и планшетов , проверьте здесь обновленную информацию ..

инвариантный
источник
3
У RoboVM лучший логотип КОГДА-ЛИБО. Это птица, это большой палец вверх, нет, это самолет!
Александр Дубинский
Вы можете добавить эту ссылку: youtube.com/watch?v=a3dAteWr40k&feature=youtu.be ;-)
assylias 05
@invariant насколько хорошо интеграция и доступ к микрофону, акселерометру, GPS, камере и т. д. для различных устройств?
ммм
Первая ссылка мертва.
Архивная
4

Рабочий стол: первоклассная поддержка

Oracle JavaFX от Java SE поддерживает только OS X (macOS), GNU / Linux и Microsoft Windows . На этих платформах приложения JavaFX обычно запускаются на JVM из Java SE или OpenJDK.

Android: должно работать

Существует также проект JavaFXPorts - проект с открытым исходным кодом, спонсируемый третьей стороной . Он направлен на перенос библиотеки JavaFX на Android и iOS.

В Android эту библиотеку можно использовать как любую другую библиотеку Java; байткодом JVM компилируется Dalvik байткод . Это то, что люди имеют в виду, говоря, что «Android работает на Java».

iOS: статус не ясен

В iOS ситуация немного сложнее, поскольку ни Java SE, ни OpenJDK не поддерживают мобильные устройства Apple. До недавнего времени единственным разумным вариантом было использование опережающего компилятора Java RoboVM для iOS. К сожалению, 15 апреля 2015 года проект RoboVM был закрыт .

Одна из возможных альтернатив - Intel Multi-OS Engine . До недавнего времени это была проприетарная технология, но 11 августа 2016 года ее исходный код был открыт . Хотя можно скомпилировать приложение JavaFX для iOS с использованием реализации JavaFX в JavaFXPorts, пока нет никаких доказательств этого. Как видите, ситуация динамически меняется, и мы надеемся, что этот ответ будет обновлен, когда появится новая информация.

Windows Phone: нет поддержки

С Windows Phone все просто: нет никакой поддержки JavaFX.

cubuspl42
источник
2

Возможно. Вы также можете заняться коммерческим спортом.

JavaFXPorts - это название проекта с открытым исходным кодом, поддерживаемого Gluon, который разрабатывает код, необходимый для работы Java и JavaFX на мобильном и встроенном оборудовании. Цель этого проекта - внести как можно больший вклад в проект OpenJFX, где это возможно, а когда это невозможно, сохранить минимальное количество изменений, необходимых для достижения целей JavaFXPorts. Gluon берет исходный код JavaFXPorts и компилирует его в двоичные файлы, готовые для развертывания на iOS, Android и встроенном оборудовании. Сборки JavaFXPorts бесплатно доступны на этом веб-сайте для всех разработчиков.

http://gluonhq.com/labs/javafxports/

жетон
источник
-4
  1. да, вы можете запустить его на iOS и Android (Win8 не поддерживается!
  2. без развертывания как веб-приложение не работает
Томсонтом
источник