Les développeurs d’OpenJDK ont publié une nouvelle spécification de la JNI (Java Native Interface) baptisée JEP 178. L’une de leurs motivations majeures est de rendre possible l’exécution des applications Java dans des environnements supportant peu ou pas la machine virtuelle Java comme iOS.
La présence de Java sur iOS est récente, et due à Oracle. Grâce à son framework ADF, Oracle permet de contourner les limitations imposées par iOS.
La spécification proposée par les développeurs de la plateforme open source Java vise à combiner machine virtuelle et application Java en un seul exécutable. Ainsi, les développeurs pourront empaqueter le runtime Java et le code de l’application Java dans un seul binaire qui ne nécessite pas de bibliothèques externes.
Tobias Bley, l’un des participants au projet, affirme que « JEP 178 est une exigence majeure pour Java sur iOS car Apple ne permet pas le chargement dynamique des bibliothèques natives ».
Pour James Gosling, créateur du langage Java, la spécification JEP a un léger avantage. En effet, pour que celle d’Oracle respecte les clauses de contrat de service d’Apple, la fonctionnalité génératrice de code de son compilateur JIT ne doit pas être active. Sans prendre parti, il estime que « la spécification JEP 178 respecte mieux les clauses de contrat d’Apple en permettant la génération de code ».
Pour terminer, Gosling dit que JEP 178 constitue une bonne affaire pour les développeurs d’applications embarquées.
Source : OpenJDK
Et vous ?
Êtes-vous intéressé par le développement Java pour iOS ? Que pensez-vous de cette spécification ?
OpenJDK sort une spécification pour le port d'applications Java sur iOS
JNI permet de combiner JVM et code en un seul exécutable
OpenJDK sort une spécification pour le port d'applications Java sur iOS
JNI permet de combiner JVM et code en un seul exécutable
Le , par Cedric Chevalier
Une erreur dans cette actualité ? Signalez-nous-la !