Ein Vorschlag, der in der OpenJDK-Community schwimmt, versucht, Java auf Apples iOS zu starten. Der Plan sieht einen Neustart der Arbeit am OpenJDK Mobile-Projekt vor, mit dem die OpenJDK-Klassen und -APIs für iOS und Android erstellt werden sollen, sagte Johan Vos, CTO bei Mobile Developer 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-Quellrepositoriums für iOS und Android und nutzt Tools, die Java-Entwicklern vertraut sind. Der erste Fokus liegt jedoch auf iOS, dem die traditionelle Unterstützung für Java fehlt. Apple hat die Ausführung der Java Virtual Machine auf der Plattform nicht zugelassen.
Der neue Plan für OpenJDK Mobile würde die Verwendung des GraalVM-Ahead-of-Time-Compilers zum Kompilieren von Code zur Erstellungszeit beinhalten. (Vos stellte fest, dass die 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. Mit den nativen GraalVM-Images und OpenJDK-Klassen können Entwickler Anwendungen erstellen, die den Apple-Regeln folgen. Java-Entwickler müssten nicht Objective-C oder Swift lernen, um Software für iOS zu schreiben.
„Während Java auf Mobilgeräten möglicherweise spät im Spiel ist, macht die Tatsache, dass es plattformübergreifend ist, Sicherheit als wichtiger Eckpfeiler darstellt und eine sichere Konnektivität mit Cloud-Diensten ermöglicht, es zu einer wirklich 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, sagte Vos. Viele Entwickler stehen vor ernsthaften Problemen mit Java-Projekten und Bibliotheken auf Android, sagte er.
Ebenfalls Teil des Plans ist ein synchronisierter Fork des OpenJDK-Masters, der mit Project Skara erstellt wird. Ein Skara-basiertes Repository würde genutzt, um OpenJDK für iOS und Android zu erstellen.
Java auf iOS zu bringen, war das Ziel mehrerer Projekte in den letzten zehn Jahren. Andere Bemühungen umfassten Gluons eigenes Eclipse-Plug-In und das inzwischen nicht mehr existierende RoboVM-Tool.