Was ist GraalVM JavaScript Scripting? (2026)

GraalVM JavaScript ist eine schnelle JS-Engine, die auf der JVM läuft. Anwendungen betten sie ein, sodass Nutzer in JavaScript skripten und sie ohne Neukompilierung von Java hot-reloaden können.

Conceptsby trqUpdated June 4, 2026
Key takeaways
  • GraalVM JavaScript ist eine schnelle, standardskonforme JS-Engine, die auf der JVM läuft.
  • Java-Anwendungen betten sie ein, sodass Benutzer JavaScript schreiben können, das Aufrufe an das Hostprogramm durchführt.
  • Skripte werden dynamisch neu geladen, sodass Sie das Verhalten ändern können, ohne den Java-Code neu zu kompilieren.
  • Der Host entscheidet genau, welche Objekte und Klassen ein Skript erreichen kann.

GraalVM JavaScript ist eine schnelle, standardskonforme JavaScript-Engine, die auf der JVM läuft und Teil des GraalVM Projekts ist. Java-Anwendungen betten sie ein, sodass Benutzer JavaScript schreiben können, das Aufrufe an das Hostprogramm sendet und dynamisch neu geladen wird. In einer Java-Anwendung bedeutet das, Verhalten in JavaScript hinzuzufügen oder zu ändern, ohne den Java-Code neu zu kompilieren.

Wo Opal passt

Opal's Skripting-Engine läuft auf GraalVM JavaScript. Um mit dem Schreiben von Skripten zu beginnen, siehe den Skripting-Leitfaden.

GraalVM und GraalVM JavaScript

GraalVM ist eine High-Performance-Laufzeitumgebung, die mehrere Sprachen auf der JVM ausführen kann. Ihr JavaScript-Engine ist modern genug, um aktuelle ECMAScript-Funktionen zu unterstützen. Eine App liefert den Engine mit, übergibt den Skripten eine Reihe von Objekten, mit denen sie arbeiten können, und führt sie aus.

Warum Apps ihn einbetten

  • Hot Reload: Ändern Sie ein Skript und sehen Sie die Auswirkungen, ohne neu starten oder neu erstellen zu müssen.
  • Eine sichere Oberfläche: Der Host entscheidet genau, welche Objekte und Java-Klassen ein Skript erreichen kann.
  • Java-Interoperabilität: Skripte können über die Objekte, die es bereitstellt, in den eigenen Code der Anwendung aufrufen.

Wie es in einem Client auftaucht

Ein Programm, das den Engine einbettet, gibt Skripten normalerweise einen Einstiegspunkt, um sich zu registrieren, und dann eine kleine Reihe von "Proxy"-Objekten, die JavaScript mit den internen Abläufen des Programms verbinden. Benutzer schreiben ein Skript, legen es in einen Skriptordner und der Engine lädt es. So kann ein Client Benutzern ermöglichen, Funktionen in JavaScript hinzuzufügen, anstatt eine Mod zu kompilieren.

FAQ