Что такое JavaScript-скриптинг в GraalVM? (2026)

GraalVM JavaScript — это быстрый JS-движок, работающий на JVM. Приложения используют его, чтобы пользователи могли писать сценарии на JavaScript и выполнять горячую перезагрузку без перекомпиляции Java.

Conceptsby trqUpdated June 4, 2026
Key takeaways
  • GraalVM JavaScript — это быстрый JS-движок, соответствующий стандартам, который работает на JVM.
  • Java-приложения включают его, чтобы пользователи могли писать JavaScript, который вызывает хост-программу.
  • Скрипты горячей перезагрузки, поэтому вы можете изменять поведение без перекомпиляции Java-кода.
  • Хост решает, какие объекты и классы скрипт может затрагивать.

GraalVM JavaScript — это быстрый, соответствующий стандартам движок JavaScript, работающий на JVM, являющийся частью проекта GraalVM. Приложения Java используют его, чтобы пользователи могли писать JavaScript, который вызывает функции хост-программы и перезагружается на лету. В Java-приложении это означает добавление или изменение поведения в JavaScript без перекомпиляции Java-кода.

Где используется Opal

Скриптовый движок Opal работает на GraalVM JavaScript. Чтобы начать писать скрипты, обратитесь к руководству по скриптам.

GraalVM и GraalVM JavaScript

GraalVM — это высокопроизводительное окружение выполнения, которое может запускать несколько языков на JVM. Его JavaScript-движок достаточно современен, чтобы поддерживать последние возможности ECMAScript. Приложение поставляется с этим движком, передает скриптам набор объектов для работы и запускает их.

Почему приложения используют его

  • Горячая перезагрузка: измените скрипт и увидите результат без перезапуска или пересборки.
  • Безопасная среда: хост решает, какие именно объекты и классы Java скрипт может затрагивать.
  • Взаимодействие с Java: скрипты могут вызывать код самого приложения через объекты, которые оно предоставляет.

Как это проявляется на стороне клиента

Программа, встраивающая движок, обычно предоставляет скриптам точку входа для регистрации, а затем небольшой набор "прокси"-объектов, которые связывают JavaScript с внутренними компонентами программы. Пользователи пишут скрипт, помещают его в папку со скриптами, и движок загружает его. Таким образом, клиент может позволить пользователям добавлять функции на JavaScript вместо компиляции мода.

Часто задаваемые вопросы