Чи можна розробити цілу програму за допомогою JavaFX та запустити її на iOS, Android або Windows Phone 8, не записуючи коду, що стосується платформи?
Чи можна розробити цілу програму за допомогою JavaFX та запустити її на iOS, Android або Windows Phone 8, не записуючи коду, що стосується платформи?
Відповіді:
Відповідь Invariant - це гарний ресурс для того, як все було розпочато та яким був стан JavaFX на вбудованому та мобільному на початку 2014 року. Але, відтоді багато що змінилося, і користувачі, які натрапляють на цю нитку, не отримують оновленої інформації.
Більшість моїх питань пов’язані з відповіддю Інваріанта, тому я б запропонував переглянути її спочатку.
Спочатку кілька поганих новин:
Тепер кілька хороших новин:
Якщо ви не тип DIY, я б запропонував встановити плагін IDE на ваш улюблений IDE і розпочати роботу.
Більшість документації про те, як розпочати роботу, можна знайти тут, а деякі зразки можна знайти тут .
Так, ви можете запустити програму JavaFX на iOS, android, desktop, RaspberryPI (поки немає мобільного Windows8).
Робота в дії:
Ми зробили це! Мультимедійний проект JavaFX8 на iPad, Android, Windows та Mac!
Ensemble8 Javafx8 Android Demo
Мій зразок програми JavaFX, що працює на Raspberry Pi
Мій зразок програми працює на 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 на мобільних пристроях та планшетах , перевірте це на оновлену інформацію.
Oracle JavaFX від Java SE підтримує лише ОС X (macOS), GNU / Linux та Microsoft Windows . На цих платформах додатки JavaFX, як правило, запускаються на JVM від Java SE або OpenJDK.
Існує також проект JavaFXPorts , який є проектом з відкритим кодом, який фінансується третьою стороною . Він спрямований на перевезення бібліотеки JavaFX на Android та iOS.
На Android цю бібліотеку можна використовувати, як і будь-яку іншу бібліотеку Java; байткод JVM компілюється Dalvik байткод . Це те, що люди мають на увазі, кажучи, що "Android працює на Java".
На iOS ситуація дещо складніша, оскільки ні Java SE, ні OpenJDK не підтримують мобільні пристрої Apple. До недавнього часу єдиним розумним варіантом було використання попереднього компілятора Java для iOS для RoboVM . На жаль, 15 квітня 2015 року проект RoboVM був закритий .
Однією з можливих альтернатив є Multi-OS Engine Intel . До недавнього часу це була власна технологія, але 11 серпня 2016 року вона була відкритою . Хоча можливо скомпілювати додаток для iOS JavaFX за допомогою реалізації JavaFX JavaFXPorts, доказів для цього поки що немає. Як бачите, ситуація динамічно змінюється, і ця відповідь, сподіваємось, буде оновлена, коли з’явиться нова інформація.
З Windows Phone все просто: немає жодної підтримки JavaFX.
Можливо. Ви також можете займатися комерційним спортом.
JavaFXPorts - це назва проекту з відкритим кодом, який підтримує Gluon, який розробляє код, необхідний для того, щоб Java та JavaFX добре працювали на мобільному та вбудованому обладнання. Мета цього проекту полягає в тому, щоб якомога більше повернутись до проекту OpenJFX, а коли це неможливо, підтримати мінімальну кількість змін, необхідних для досягнення цілей JavaFXPorts. Gluon приймає вихідний код JavaFXPorts і компілює його у бінарні файли, готові до розгортання на iOS, Android та вбудованому обладнання. Набори JavaFXPorts доступні на цьому веб-сайті для всіх розробників.