Une proposition plane dans la communauté OpenJDK : lancer Java sur iOS d'Apple. « Le projet implique de redémarrer le travail sur le projet OpenJDK Mobile qui avait pour objectif de construire des classes OpenJDK et une API pour iOS et Android », a déclaré Johan Vos, CTO du développeur mobile Gluon, qui a récemment publié un bulletin sur ces travaux. Le but de l’OpenJDK Mobile est de fournir dans la dernière version du référentiel source OpenJDK les mêmes API pour iOS et Android, en utilisant des outils bien connus des développeurs Java. Cependant, la première cible est iOS, qui n’a jamais bénéficié du support de Java, Apple n'ayant pas autorisé la machine virtuelle Java à tourner sur sa plate-forme.
Le projet pour OpenJDK Mobile impliquerait l’usage du compilateur anticipé GraalVM pour compiler le code au moment de la compilation. (Johan Vos fait remarquer que la compilation JIT Just-In-Time n'est pas une option sous iOS.) Le code Java compilé pourrait alors être lié à des bibliothèques natives compilées pour le système d'exploitation cible pour créer des exécutables. Ceci a déjà été fait pour iOS, basé sur Java 11. En utilisant les classes GraalVM Native Images et OpenJDK, les développeurs peuvent créer des applications qui respectent les exigences d’Apple. Les développeurs Java n'auraient pas besoin d'apprendre Objective-C ou Swift pour écrire des logiciels pour iOS. « Même si Java est en retard dans le jeu sur mobile, le langage est multiplateforme, assez strict en matière de sécurité, et permet une connectivité sécurisée avec les services cloud. C’est donc un langage vraiment adapté au développement mobile », a encore fait valoir le CTO.
Depuis le début, Java est utilisé pour le développement Android. « Sauf que, Android n'est pas compatible avec Java 11 et nécessite son propre outil de développement - Android Studio - et ses propres procédures », a encore déclaré Johan Vos. « L’usage des projets Java et des bibliothèques sur Android pose de sérieux problèmes à de nombreux développeurs », a-t-il déclaré. Un autre aspect du projet concerne la création d’un fork synchronisé du master OpenJDK à l'aide de Project Skara. L’idée serait d’utiliser un référentiel basé sur Skara pour construire un OpenJDK pour iOS et Android. Au cours de la dernière décennie, plusieurs projets ont travaillé sur l'intégration de Java à iOS. C’est ce qu’a essayé de faire par exemple le développeur mobile Gluon avec son plug-in pour Eclipse ou encore l'outil RoboVM, abandonné en avril 2016 par la startup du même nom.
Commentaire