Programmering

En plan for at bringe Java til iOS

Et forslag, der flyder i OpenJDK-samfundet, søger at starte Java på Apples iOS. Planen indebærer genstart af arbejdet med OpenJDK Mobile-projektet, som er beregnet til at bygge OpenJDK-klasser og API til iOS og Android, sagde Johan Vos, CTO hos mobiludvikler Gluon.

Vos offentliggjorde for nylig en bulletin vedrørende denne indsats. OpenJDK Mobile centrerer sig om at levere de samme API'er i den nyeste version af OpenJDK-kildelageret til iOS og Android og udnytte værktøjer, som Java-udviklere kender. Det første fokus er dog på iOS, som mangler traditionel support til Java. Apple har ikke tilladt Java Virtual Machine at køre på platformen.

Den nye plan for OpenJDK Mobile ville indebære at bruge GraalVM-kompilatoren til at kompilere kode ved byggetid. (Vos bemærkede, at just-in-time kompilering ikke er en mulighed på iOS.) Kompileret Java-kode kunne derefter linkes til native-biblioteker, der er sammensat til måloperativsystemet for at oprette eksekverbare filer. Dette er allerede gjort for iOS, baseret på Java 11. Ved hjælp af GraalVM Native Images og OpenJDK-klasser kan udviklere oprette applikationer, der følger Apples regler. Java-udviklere behøver ikke lære Objective-C eller Swift at skrive software til iOS.

”Mens Java kan være sent i spillet på mobil, gør det faktum, at det er på tværs af platforme, oprettet med sikkerhed som en nøglehjørnesten, og at det giver mulighed for sikker forbindelse med cloud-tjenester det til et virkelig seriøst sprog for mobiludvikling, ”Sagde Vos.

Java har været brugt til Android-udvikling fra starten. Android er dog ikke Java 11-kompatibel og kræver sit eget udviklingsværktøj - Android Studio - og procedurer, sagde Vos. Mange udviklere står over for alvorlige problemer ved hjælp af Java-projekter og biblioteker på Android, sagde han.

En del af planen er også en synkroniseret fork af OpenJDK-masteren, som oprettes ved hjælp af Project Skara. Et Skara-baseret lager ville blive udnyttet til at bygge OpenJDK til iOS og Android.

At bringe Java til iOS har været målet for flere projekter i det sidste årti. Andre bestræbelser omfattede Gluons egen Eclipse-plug-in og det nu nedlagte RoboVM-værktøj.