Programování

Plán přinést Javu do iOS

Návrh plovoucí v komunitě OpenJDK usiluje o nastartování Javy v systému iOS společnosti Apple. Plán zahrnuje restartování prací na projektu OpenJDK Mobile, který je určen k vybudování tříd OpenJDK a API pro iOS a Android, uvedl Johan Vos, CTO mobilního vývojáře Gluon.

Vos nedávno zveřejnil bulletin týkající se těchto snah. OpenJDK Mobile se soustředí na poskytování stejných API v nejnovější verzi zdrojového úložiště OpenJDK pro iOS a Android a využívá nástroje známé vývojářům Java. Nejprve se však zaměříme na iOS, který postrádal tradiční podporu Java. Apple nepovolil spuštění Java Virtual Machine na platformě.

Nový plán pro OpenJDK Mobile by vyžadoval použití kompilátoru GraalVM předem ke kompilaci kódu v době sestavení. (Vos poznamenal, že kompilace just-in-time není v systému iOS dostupná.) Zkompilovaný kód Java lze poté propojit s nativními knihovnami kompilovanými pro cílový operační systém a vytvářet spustitelné soubory. Toto již bylo provedeno pro iOS na základě Java 11. Pomocí tříd Nativní obrázky GraalVM a OpenJDK mohou vývojáři vytvářet aplikace, které se řídí pravidly společnosti Apple. Vývojáři Java by se nemuseli učit Objective-C nebo Swift psát software pro iOS.

„I když Java může být v mobilních hrách pozdě, skutečnost, že je multiplatformní, vytvořená se zabezpečením jako základním kamenem a že umožňuje bezpečné připojení k cloudovým službám, z ní dělá skutečný seriózní jazyk pro mobilní vývoj, “Řekl Vos.

Java byla od počátku používána pro vývoj systému Android. Android však není kompatibilní s Javou 11 a vyžaduje svůj vlastní vývojový nástroj - Android Studio - a postupy, řekl Vos. Mnoho vývojářů čelí vážným problémům s používáním projektů a knihoven Java v systému Android, uvedl.

Součástí plánu je také synchronizovaná vidlice masteru OpenJDK, která by byla vytvořena pomocí Project Skara. K vybudování OpenJDK pro iOS a Android by se využilo úložiště založené na Skarě.

Přinášet prostředí Java do systému iOS bylo v uplynulém desetiletí cílem několika projektů. Další úsilí zahrnovalo vlastní plug-in Eclipse od Gluonu a nyní již neexistující nástroj RoboVM.

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