Learn · concepts

Qu'est-ce que le scripting JavaScript GraalVM ?

GraalVM JavaScript est un moteur JS rapide qui fonctionne sur la JVM. Il permet aux applications Java d'intégrer JavaScript afin que les utilisateurs puissent programmer des fonctionnalités et les recharger instantanément.

TRtrolPublished 4 min read

Qu'est-ce que GraalVM JavaScript ?

GraalVM JavaScript est un moteur JavaScript rapide et conforme aux normes qui s'exécute sur la JVM, faisant partie du projet GraalVM. Les applications Java l'intègrent afin de permettre aux utilisateurs d'écrire du JavaScript qui appelle le programme hôte et se recharge à la volée. Dans une application Java, cela signifie ajouter ou modifier le comportement en JavaScript sans avoir à recompiler le code Java.

Considérez-le comme un bac à sable pour ajouter des fonctionnalités. L'application expose certains objets et méthodes à un script, et le script appelle ces méthodes pour effectuer des tâches à l'intérieur de l'application. Lorsque vous modifiez le script et l'enregistrez, le moteur le recharge immédiatement, sans redémarrage requis

Pourquoi les applications intègrent-elles des moteurs de script

Des applications comme les clients Minecraft intègrent des moteurs JavaScript pour quelques raisons pratiques :

  • Rechargement à chaud : modifiez un script et observez l'effet sans redémarrer ni reconstruire.
  • Un environnement sécurisé : l'hôte décide précisément quels objets et classes Java un script peut manipuler.
  • Itérations rapides : testez de nouveaux comportements en quelques secondes au lieu de minutes de temps de compilation.
  • Personnalisation par l'utilisateur : permettez aux joueurs d'écrire leurs propres fonctionnalités dans un langage familier

Comment cela se manifeste chez un client

Un client intégrant GraalVM JavaScript fournit généralement aux scripts un point d'entrée pour s'enregistrer, puis un petit ensemble d'objets proxy qui permettent de relier JavaScript aux entrailles du programme. Les utilisateurs écrivent un script, le déposent dans un dossier de scripts, et le moteur le charge. C'est ainsi qu'un client peut permettre aux utilisateurs d'ajouter des fonctionnalités en JavaScript au lieu de compiler un mod.

GraalVM JavaScript vs Node.js

AspectGraalVM JavaScriptNode.js
RuntimeS'exécute sur la JVMEnvironnement d'exécution V8 autonome
Cas d'utilisationIntégré aux applications JavaJavaScript côté serveur ou outils CLI
DémarragePartie du processus hôteProcessus distinct
AccèsL'hôte expose des objets spécifiquesAccès complet au système d'exploitation
PerformanceCompilé JIT, très rapideÉgalement très rapide, compromis différents

Les deux sont excellents pour exécuter JavaScript ; ils sont juste conçus pour des contextes différents. GraalVM est le choix idéal lorsque vous souhaitez qu'une application Java permette aux utilisateurs de programmer en JavaScript.

FAQ