Programmering

En plan for å bringe Java til iOS

Et forslag som flyter i OpenJDK-samfunnet, søker å starte Java på Apples iOS. Planen innebærer å starte arbeidet med OpenJDK Mobile-prosjektet på nytt, som er ment å bygge OpenJDK-klassene og API for iOS og Android, sa Johan Vos, CTO hos mobilutvikler Gluon.

Vos la nylig ut en bulletin om denne innsatsen. OpenJDK Mobile sentrerer om å tilby de samme APIene i den nyeste versjonen av OpenJDK-kildedepotet til iOS og Android, og utnytte verktøy som er kjent for Java-utviklere. Det første fokuset er imidlertid på iOS, som har manglet tradisjonell støtte for Java. Apple har ikke tillatt Java Virtual Machine å kjøre på plattformen.

Den nye planen for OpenJDK Mobile vil innebære å bruke GraalVM-kompilatoren på forhånd for å kompilere kode ved byggetid. (Vos bemerket at just-in-time kompilering ikke er et alternativ på iOS.) Kompilert Java-kode kan da kobles til innfødte biblioteker samlet for måloperativsystemet for å lage kjørbare filer. Dette er allerede gjort for iOS, basert på Java 11. Ved å bruke GraalVM Native Images og OpenJDK-klasser, kan utviklere lage applikasjoner som følger Apples regler. Java-utviklere trenger ikke lære Objective-C eller Swift å skrive programvare for iOS.

“Selv om Java kan være sent i spillet på mobilen, gjør det at det er plattform på tvers, opprettet med sikkerhet som en nøkkelhjørnestein, og at det muliggjør sikker tilkobling med skytjenester, det til et virkelig seriøst språk for mobilutvikling, Sa Vos.

Java har blitt brukt til Android-utvikling fra begynnelsen. Imidlertid er Android ikke Java 11-kompatibel og krever sitt eget utviklingsverktøy - Android Studio - og prosedyrer, sa Vos. Mange utviklere står overfor alvorlige problemer ved bruk av Java-prosjekter og biblioteker på Android, sa han.

En del av planen er også en synkronisert gaffel av OpenJDK-masteren, som vil bli opprettet ved hjelp av Project Skara. Et Skara-basert arkiv vil bli utnyttet for å bygge OpenJDK for iOS og Android.

Å bringe Java til iOS har vært målet for flere prosjekter det siste tiåret. Andre anstrengelser inkluderte Gluons egen Eclipse-plugin og det nå nedlagte RoboVM-verktøyet.

$config[zx-auto] not found$config[zx-overlay] not found