Чи можливо запускати додатки 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 року. Але, відтоді багато що змінилося, і користувачі, які натрапляють на цю нитку, не отримують оновленої інформації.

Більшість моїх питань пов’язані з відповіддю Інваріанта, тому я б запропонував переглянути її спочатку.

Поточний стан 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)? Поясніть, будь ласка,
Нова

@Nova Привіт. Так, JavaFXPorts знаходиться під винятком GPLv2 + CLASSPATH, тому ви можете використовувати його у своєму проекті, не турбуючись. Але, оскільки JavaFXPorts просто надає вам мінімальну підтримку (відсутність підтримки IDE + відсутність елементів управління мобільним пристроєм), я буду скептично вибирати її для чогось комерційного. Gluon Mobile безкоштовний у використанні, він просто має Nag-екран, коли програма починається (для безкоштовної версії). Але ви можете позбутися цього, коли ваш додаток відомий, заплативши комісію :)
ItachiUchiha

@ItachiUchiha, це звучить перспективно! Останнє запитання: Порівняння продуктів Gluon Mobile, знайдене тут, показує, що екран екрану є єдиною різницею між вільним рівнем та рівнем Інді. Чи можна припустити, що я можу використовувати безкоштовну версію для комерційного використання протягом необмеженого часу? Як в, немає терміну придатності? Я можу обробляти екран гри, поки кошти не накочуються :) Дякую за уточнення
Нова

1
Вибачте, ще одне запитання: Мій код JavaFX на 90% у комплекті з 20 000+ рядками коду. Чи можу я все-таки інтегрувати Gluon Mobile у свою кодову базу ... чи мені потрібно використовувати її з самого початку, перш ніж написати єдиний рядок? Thx
Нова

75

Так, ви можете запустити програму JavaFX на iOS, android, desktop, RaspberryPI (поки немає мобільного Windows8).

Робота в дії:

Ми зробили це! Мультимедійний проект JavaFX8 на iPad, Android, Windows та Mac!

JavaFX скрізь

Ensemble8 Javafx8 Android Demo

Мій зразок програми JavaFX, що працює на Raspberry Pi

Мій зразок програми працює на Android

JavaFX на iOS та Android

Dev Resources:

Android:

Створення та розгортання програм JavaFX на Android

iOS:

Підтримка NetBeans для JavaFX для iOS відсутня!

Розробіть додаток JavaFX + iOS за допомогою інструментів clipse RoboVM + e (fx) за 10 хвилин

Якщо ви збираєтеся розробляти серйозні додатки, тут ще трохи інформації

Різне:

Наразі для списку пріоритетів JavaFX Oracle є Desktop (Mac, windows, linux) та Embedded (Raspberry Pi, beagle Board тощо) . Для iOS / android oracle зроблено більшість важких робіт та підключено до власного експорту цих платформ частину OpenJFX, але там це не JVM від Oracle для ios / android.Community збирає все разом, заповнивши відсутні фрагменти (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

@invariant, наскільки добре інтегрована та доступ до мікрофона, акселерометра, gps, камери тощо для різних пристроїв?
ммм

Перша ланка мертва. Архівна версія: web.archive.org/web/20141008171951/http://…
Покірний

4

Настільний: першокласна підтримка

Oracle JavaFX від Java SE підтримує лише ОС 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 для iOS для RoboVM . На жаль, 15 квітня 2015 року проект RoboVM був закритий .

Однією з можливих альтернатив є Multi-OS Engine Intel . До недавнього часу це була власна технологія, але 11 серпня 2016 року вона була відкритою . Хоча можливо скомпілювати додаток для iOS JavaFX за допомогою реалізації JavaFX JavaFXPorts, доказів для цього поки що немає. Як бачите, ситуація динамічно змінюється, і ця відповідь, сподіваємось, буде оновлена, коли з’явиться нова інформація.

Windows Phone: немає підтримки

З Windows Phone все просто: немає жодної підтримки JavaFX.


2

Можливо. Ви також можете займатися комерційним спортом.

JavaFXPorts - це назва проекту з відкритим кодом, який підтримує Gluon, який розробляє код, необхідний для того, щоб Java та JavaFX добре працювали на мобільному та вбудованому обладнання. Мета цього проекту полягає в тому, щоб якомога більше повернутись до проекту OpenJFX, а коли це неможливо, підтримати мінімальну кількість змін, необхідних для досягнення цілей JavaFXPorts. Gluon приймає вихідний код JavaFXPorts і компілює його у бінарні файли, готові до розгортання на iOS, Android та вбудованому обладнання. Набори JavaFXPorts доступні на цьому веб-сайті для всіх розробників.

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


-4
  1. так, ви можете запустити його на iOS та Android (Win8 не підтримується!
  2. жодне розгортання, оскільки веб-додаток не працює
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.