È ansible eseguire applicazioni JavaFX su iOS, Android o Windows Phone 8?

È ansible sviluppare un’intera applicazione utilizzando JavaFX ed eseguirla su iOS, Android o Windows Phone 8, senza scrivere codice specifico per piattaforma?

sfondo

La risposta di Invariant è una buona risorsa per come tutto è stato avviato e quale era lo stato di JavaFX su embedded e mobile all’inizio del 2014. Ma da allora molte cose sono cambiate e gli utenti che incappano in questo thread non ottengono le informazioni aggiornate.

Molti dei miei punti sono legati alla risposta di Invariant, quindi suggerirei di analizzarlo per primi.

Stato attuale di JavaFX su dispositivo mobile / incorporato

Alcune cattive notizie prima:

  • RoboVM è morto
  • Oracle ha ucciso JavaFX su dispositivi embedded

Ora, alcune buone notizie:

  • JavaFX funziona ancora su Android, iOS e sulla maggior parte dei dispositivi Embedded
  • Da qui è ansible scaricare l’SDK JavaFXPorts per dispositivi Android, iOS e integrati
  • Il progetto JavaFXPorts è ancora fiorente ed è più facile che mai eseguire JavaFX su dispositivi mobili, tutto grazie ai plugin IDE che sono costruiti su questi SDK e ti fanno iniziare in pochi minuti senza il fastidio di installare qualsiasi SDK
  • JavaFX 3D ora è supportato su dispositivi mobili
  • GluonVM sostituirà RoboVM abilitando il supporto Java 9 per gli sviluppatori mobili. Sì, hai sentito bene.
  • Mobile Project è stato lanciato da Oracle per supportare JDK su tutte le principali piattaforms mobili. Dovrebbe supportare anche JavaFX;)

Come iniziare

Se non sei il tipo fai-da-te, ti suggerisco di installare il plug-in IDE sul tuo IDE preferito e iniziare.

La maggior parte della documentazione su come iniziare può essere trovata qui e alcuni dei campioni possono essere trovati qui .

Sì, è ansible eseguire l’applicazione JavaFX su iOS, Android, desktop, RaspberryPI (non ancora Windows8 mobile).

Lavoro in azione:

Lo abbiamo fatto! Progetto multimediale JavaFX8 su iPad, Android, Windows e Mac!

JavaFX Ovunque

Demo di Ensemble8 Javafx8 per Android

La mia applicazione JavaFX di esempio in esecuzione su Raspberry Pi

La mia applicazione di esempio in esecuzione su Android

JavaFX su iOS e Android

Risorse di sviluppo:

Android:

Creazione e distribuzione di applicazioni JavaFX su Android

iOS:

È disponibile il supporto NetBeans per JavaFX per iOS!

Sviluppa un’applicazione JavaFX + iOS con strumenti clipse RoboVM + e (fx) in 10 minuti

Se hai intenzione di sviluppare applicazioni serie ecco alcune informazioni in più

Varie:

Al momento per JavaFX l’elenco di priorità Oracle è Desktop (Mac, windows, linux) ed Embedded (Raspberry Pi, beagle Board, ecc . ) . Per iOS / Android Oracle ha fatto la maggior parte del javafxports hardwork e opesource di queste piattaforms come parte di OpenJFX, ma lì non è JVM di oracle per ios / android.Community sta mettendo tutto insieme riempiendo il pezzo mancante (JVM) per iOS / Android, la community ha fatto buoni progressi nell’esecuzione di JavaFX su ios ( RoboVM) / android ( DalvikVM ). Se lo desideri, puoi anche contribuire alla community sponsorizzandoti ( diventa uno sponsor RoboVM ) o iniziare a sviluppare app e segnalare problemi.

Modifica il 23/06/2014:

Johan Vos ha creato un sito Web per le porte javafx JavaFX su dispositivi mobili e tablet , controlla questo per informazioni aggiornate ..

Desktop: supporto di prima class

Oracle JavaFX da Java SE supporta solo OS X (macOS), GNU / Linux e Microsoft Windows . Su queste piattaforms, le applicazioni JavaFX vengono generalmente eseguite su JVM da Java SE o OpenJDK.

Android: dovrebbe funzionare

Esiste anche un progetto JavaFXPorts , che è un progetto open source sponsorizzato da una terza parte . Mira a portare la libreria JavaFX su Android e iOS.

Su Android, questa libreria può essere utilizzata come qualsiasi altra libreria Java; il bytecode JVM è compilato in bytecode Dalvik . È ciò che le persone intendono dicendo “Android esegue Java”.

iOS: stato non chiaro

Su iOS, la situazione è un po ‘più complessa, in quanto né Java SE né OpenJDK supportano i dispositivi mobili Apple. Fino a poco tempo fa, l’unica opzione sensata era usare il compilatore Java in anticipo di RoboVM per iOS. Sfortunatamente, il 15 aprile 2015, il progetto RoboVM è stato chiuso .

Una ansible alternativa è il motore Multi-OS di Intel. Fino a poco tempo fa era una tecnologia proprietaria, ma l’11 agosto 2016 è stata open source . Sebbene sia ansible compilare un’app JavaFX iOS utilizzando l’implementazione JavaFX di JavaFXPorts, non ci sono prove a riguardo. Come puoi vedere, la situazione cambia in modo dinamico e si spera che questa risposta venga aggiornata quando saranno disponibili nuove informazioni.

Windows Phone: nessun supporto

Con Windows Phone è semplice: non c’è alcun supporto JavaFX di alcun tipo.

Possibile. Puoi anche fare sport commerciale.

JavaFXPorts è il nome del progetto open source gestito da Gluon che sviluppa il codice necessario per Java e JavaFX per funzionare correttamente su hardware mobile e embedded. L’objective di questo progetto è quello di contribuire tanto al progetto OpenJFX laddove ansible, e quando non è ansible, di mantenere il numero minimo di modifiche necessarie per abilitare gli obiettivi di JavaFXPorts. Gluon acquisisce il codice sorgente di JavaFXPorts e lo compila in file binari pronti per l’implementazione su iOS, Android e hardware incorporato. Le build di JavaFXPorts sono liberamente disponibili su questo sito Web per tutti gli sviluppatori.

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

  1. sì, puoi eseguirlo su iOS e Android (Win8 non è supportato!
  2. nessuna implementazione come app Web non funziona