Skip to content

Что такое Jumper? ​

Jumper - скриптовый язык для JVM с синтаксисом Java и лёгкостью Lua. Java-приложение встраивает его, чтобы запускать скрипты, написанные другими людьми: плагины и моды сервера, пользовательскую автоматизацию, конфиги с логикой. При этом приложение точно решает, к чему эти скрипты имеют доступ.

jumper
void onJoin(dyn player) {
    player.send("Welcome, " + player.name() + "!");
    server.broadcast(player.name() + " joined");
}

Почему Jumper ​

  • Знакомый. Синтаксис Java: if, for, классы, лямбды, import. Типы необязательны: dyn для динамических значений, int, String или класс там, где нужна проверка.
  • Лёгкий. Таблицы ({ x: 1 }), массивы, функции как значения, замыкания, модули. Без сборки: скрипт - это текстовый файл.
  • Java под рукой. import java.util.HashMap;, new, вызовы методов, поля - любой класс, который разрешил хост.
  • Безопасный. Каждый скрипт работает под политикой доступа (.jma): белым списком пакетов, классов и методов Java. Всё, чего нет в списке, закрыто.
  • Быстрый. Интерпретатор для кода, который выполняется один раз, и компилятор в байткод JVM для горячих функций.
  • С инструментами. Языковой сервер и плагины для IntelliJ IDEA, VS Code и Neovim.

Файлы ​

ФайлЧто это
.jmpскрипт
.jmaполитика доступа: что скриптам можно использовать из Java
.jmcконфиг: значения и условия, без циклов и без Java

Распространяется под лицензией MIT.