Un piano per portare Java su iOS

Una proposta fluttuante nella comunità di OpenJDK cerca di far partire Java su iOS di Apple. Il piano prevede il riavvio del lavoro sul progetto OpenJDK Mobile, che ha lo scopo di creare le classi OpenJDK e le API per iOS e Android, ha affermato Johan Vos, CTO presso lo sviluppatore mobile Gluon.

Vos ha recentemente pubblicato un bollettino relativo a questi sforzi. OpenJDK Mobile si concentra sulla fornitura delle stesse API nell'ultima versione del repository dei sorgenti OpenJDK per iOS e Android, sfruttando strumenti familiari agli sviluppatori Java. Il primo obiettivo, tuttavia, è su iOS, a cui mancava il supporto tradizionale per Java. Apple non ha consentito l'esecuzione della Java Virtual Machine sulla piattaforma.

Il nuovo piano per OpenJDK Mobile comporterebbe l'utilizzo del compilatore GraalVM in anticipo per compilare il codice in fase di compilazione. (Vos ha notato che la compilazione just-in-time non è un'opzione su iOS.) Il codice Java compilato potrebbe quindi essere collegato a librerie native compilate per il sistema operativo di destinazione per creare eseguibili. Questo è già stato fatto per iOS, basato su Java 11. Utilizzando le classi GraalVM Native Images e OpenJDK, gli sviluppatori possono creare applicazioni che seguono le regole Apple. Gli sviluppatori Java non dovrebbero imparare Objective-C o Swift per scrivere software per iOS.

"Sebbene Java possa essere in ritardo nel gioco sui dispositivi mobili, il fatto che sia multipiattaforma, creato con la sicurezza come pietra angolare chiave e che consente una connettività sicura con i servizi cloud, lo rende un vero linguaggio serio per lo sviluppo mobile, "Vos ha detto.

Java è stato utilizzato per lo sviluppo di Android sin dall'inizio. Tuttavia, Android non è conforme a Java 11 e richiede un proprio strumento di sviluppo - Android Studio - e procedure, ha affermato Vos. Molti sviluppatori devono affrontare seri problemi utilizzando progetti e librerie Java su Android, ha affermato.

Anche parte del piano è un fork sincronizzato del master OpenJDK, che verrebbe creato utilizzando Project Skara. Un repository basato su Skara verrebbe sfruttato per creare OpenJDK per iOS e Android.

Portare Java su iOS è stato l'obiettivo di diversi progetti negli ultimi dieci anni. Altri sforzi includevano il plug-in Eclipse di Gluon e lo strumento RoboVM ormai defunto.