Ein Plan, um Java auf iOS zu bringen

Ein in der OpenJDK-Community veröffentlichter Vorschlag versucht, Java unter Apples iOS zu starten. Der Plan sieht vor, die Arbeit am OpenJDK Mobile-Projekt neu zu starten, mit dem die OpenJDK-Klassen und die API für iOS und Android erstellt werden sollen, sagte Johan Vos, CTO beim Mobilentwickler Gluon.

Vos hat kürzlich ein Bulletin zu diesen Bemühungen veröffentlicht. OpenJDK Mobile konzentriert sich auf die Bereitstellung derselben APIs in der neuesten Version des OpenJDK-Quellrepositorys für iOS und Android und nutzt Tools, die Java-Entwicklern bekannt sind. Der erste Schwerpunkt liegt jedoch auf iOS, dem die traditionelle Unterstützung für Java fehlte. Apple hat nicht zugelassen, dass die Java Virtual Machine auf der Plattform ausgeführt wird.

Der neue Plan für OpenJDK Mobile würde die Verwendung des GraalVM-Compilers vor der Zeit zum Kompilieren von Code zur Erstellungszeit beinhalten. (Vos stellte fest, dass eine Just-in-Time-Kompilierung unter iOS keine Option ist.) Kompilierter Java-Code könnte dann mit nativen Bibliotheken verknüpft werden, die für das Zielbetriebssystem kompiliert wurden, um ausführbare Dateien zu erstellen. Dies wurde bereits für iOS basierend auf Java 11 durchgeführt. Mithilfe der Klassen GraalVM Native Images und OpenJDK können Entwickler Anwendungen erstellen, die den Apple-Regeln entsprechen. Java-Entwickler müssten weder Objective-C noch Swift lernen, um Software für iOS zu schreiben.

„Während Java auf Mobilgeräten möglicherweise zu spät im Spiel ist, macht es die Tatsache, dass es plattformübergreifend ist, mit Sicherheit als Schlüsselelement erstellt wurde und eine sichere Konnektivität mit Cloud-Diensten ermöglicht, zu einer ernsthaften Sprache für die mobile Entwicklung. Sagte Vos.

Java wurde von Anfang an für die Android-Entwicklung verwendet. Android ist jedoch nicht Java 11-kompatibel und erfordert ein eigenes Entwicklungstool - Android Studio - und Verfahren, so Vos. Viele Entwickler haben ernsthafte Probleme mit Java-Projekten und -Bibliotheken auf Android, sagte er.

Teil des Plans ist auch eine synchronisierte Verzweigung des OpenJDK-Masters, die mit Project Skara erstellt wird. Ein Skara-basiertes Repository würde genutzt, um OpenJDK für iOS und Android zu erstellen.

In den letzten zehn Jahren war es das Ziel mehrerer Projekte, Java auf iOS zu bringen. Weitere Bemühungen waren Gluons eigenes Eclipse-Plug-In und das inzwischen nicht mehr existierende RoboVM-Tool.