Le moteur JavaScript Nashorn pour JVM bientôt supprimé ?

De nouvelles technologies rendent Nashorn obsolète. Mais la suppression du moteur JavaScript pour Java Virtual Machine pourrait empêcher le fonctionnement de certaines applications.

C’est en 2014 que Nashorn a fait son apparition dans le Java Development Kit (JDK) 8. À l’époque, le moteur JavaScript permettait d’améliorer la compatibilité entre Java et JavaScript et apportait aussi des avantages en terme de performances. Mais les évolutions rapides dans les structures du langage ECMAScript et les API ont rendu la maintenance de Nashorn « difficile », selon la proposition officielle de dépréciation qui circule actuellement dans la communauté Java OpenJDK.

De plus, les applications Java ont la possibilité d’utiliser d’autres implémentations de JavaScript. Par exemple, GraalJS pourrait bientôt être disponible sous forme de module pour les développeurs. Ce dernier utilise la bibliothèque Truffle d’Oracle pour implémenter les langages et fournit la plupart des fonctionnalités de Nashorn. Mais il n’est pas prévu d’ajouter GraalJS ou toute autre nouvelle implémentation JavaScript au JDK lui-même pour l’instant. Les API de Nashorn et l’outil JJS sont également visés par la décision d’obsolescence. Par contre, l’API de scripting javax.scripting n’est pas concernée par la dépréciation.

Reste que la suppression de Nashorn pourrait empêcher certaines applications basées sur JavaScript de fonctionner. La communauté Java ne dispose pas de statistiques très claires sur le niveau d’utilisation réelle de Nashorn et cherche à collecter des informations à ce sujet.

Les modules spécifiques pouvant être frappés de dépréciation sont les suivants :

scripting.nashorn — : contient les paquets jdk.nashorn.api.scripting et jdk.nashorn.api.tree.

scripting.nashorn.shell — : contient l’outil JJS.

jdk.dynalink — : contient la bibliothèque de support Dynalink.

chevron_left
chevron_right