Una propuesta flotante en la comunidad OpenJDK busca impulsar Java en el iOS de Apple. El plan implica reiniciar el trabajo en el proyecto OpenJDK Mobile, que está destinado a construir las clases OpenJDK y la API para iOS y Android, dijo Johan Vos, CTO de mobile developer Gluon.
Vos publicó recientemente un boletín relacionado con estos esfuerzos. OpenJDK Mobile se centra en proporcionar las mismas API en la última versión del repositorio de código fuente de OpenJDK para iOS y Android, aprovechando herramientas familiares para los desarrolladores de Java. El primer enfoque, sin embargo, está en iOS, que ha carecido de soporte tradicional para Java. Apple no ha permitido que la máquina virtual Java se ejecute en la plataforma.
El nuevo plan para OpenJDK Mobile implicaría el uso del compilador avanzado GraalVM para compilar código en el tiempo de compilación. (Vos señaló que la compilación justo a tiempo no es una opción en iOS.) El código Java compilado podría vincularse con bibliotecas nativas compiladas para el sistema operativo de destino para crear ejecutables. Esto ya se ha hecho para iOS, basado en Java 11. Con las imágenes nativas de GraalVM y las clases OpenJDK, los desarrolladores pueden crear aplicaciones que sigan las reglas de Apple. Los desarrolladores de Java no tendrían que aprender Objective-C o Swift para escribir software para iOS.
«Si bien Java puede llegar tarde al juego en dispositivos móviles, el hecho de que sea multiplataforma, creado con la seguridad como piedra angular clave y que permita una conectividad segura con servicios en la nube, lo convierte en un lenguaje realmente serio para el desarrollo móvil», dijo Vos.
Java se ha utilizado para el desarrollo de Android desde el principio. Sin embargo, Android no es compatible con Java 11 y requiere su propia herramienta de desarrollo, Android Studio, y procedimientos, dijo Vos. Muchos desarrolladores se enfrentan a problemas graves con el uso de proyectos y bibliotecas de Java en Android, dijo.
También parte del plan es una bifurcación sincronizada del maestro OpenJDK, que se crearía usando Project Skara. Se aprovecharía un repositorio basado en Skara para construir OpenJDK para iOS y Android.
Llevar Java a iOS ha sido el objetivo de varios proyectos en la última década. Otros esfuerzos incluyeron el plug-in Eclipse de Gluon y la ahora desaparecida herramienta RoboVM.