mruby

Бесплатно
Открытый исходный код
Windows
macOS
Linux

Сайт: mruby.org

mruby — лёгкая реализация языка программирования Ruby, разработанная с целью встраивания в приложения и выполнения скомпилированного байткода. Проект ориентирован на минимальный объём и простую интеграцию в программные и аппаратные системы, где полная реализация интерпретатора Ruby была бы избыточной. mruby сочетает интерпретатор, компилятор в собственный байткод и виртуальную машину, позволяя запускать скрипты Ruby в ограниченных средах.

Архитектура mruby предусматривает компиляцию исходного кода в компактный байткод, который затем исполняется на встроенной виртуальной машине. Это упрощает распространение программ: байткод можно включать в прошивки, библиотеки и исполняемые файлы. Благодаря модульной конструкции и набору встроенных библиотек mruby предоставляет базовый набор возможностей языка, при этом разработчики могут добавлять подсистемы и расширения по мере необходимости.

  • Минимализм: ориентирован на низкие требования к памяти и дисковому пространству, уменьшенную зависимость от окружения и облегченную интеграцию.
  • Байткод и виртуальная машина: включает компилятор в собственный компактный байткод и виртуальную машину для его выполнения.
  • Встраивание: предназначен для включения в приложения и устройства как скриптовый движок, с API для взаимодействия между Си/C++ кодом и Ruby-скриптами.
  • Модульность: базовый набор библиотек можно расширять через гемоподобные модули и пользовательские расширения на Си.
  • Кроссплатформенность: проект может быть скомпилирован для различных архитектур и ОС, включая встраиваемые платформы.
  • Интероперабельность: предоставляет механизмы вызова нативного кода и обмена данными между средой выполнения и хост-приложением.
  • Производительность: компактный байткод и лёгкая виртуальная машина обеспечивают приемлемую скорость в условиях ограниченных ресурсов.
  • Безопасность и изоляция: возможность выполнения изолированных скриптов в пределах хост-приложения с контролем потребления ресурсов.
  • Сценарии использования: встроенные конфигураторы, скриптовые расширения для приложений, прототипирование поведения устройств и автоматизация в ограниченных средах.
  • Лицензирование и сообщество: проект распространён с открытым исходным кодом; детали лицензии и актуальное состояние сообщества следует проверять в соответствующих репозиториях.
Подробнее