Site icon ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)
Среда, 24 декабря, 2025

Основатель QEMU и FFmpeg представил JavaScript-движок Micro QuickJS

Основатель QEMU и FFmpeg представил JavaScript-движок Micro QuickJS

Фабрис Беллар, основатель QEMU и FFmpeg, представил новый проект Micro QuickJS — новый движок JavaScript, ориентированный на встроенные системы.

Важно отметить, что Micro QuickJS не является продолжением или форком QuickJS. Это отдельная кодовая база, разработанная специально для сред с очень ограниченными ресурсами, таких как микроконтроллеры и другие ограниченные по ресурсам встроенные платформы.

Движок ориентирован на строгое подмножество ES5 и отдает приоритет предсказуемому поведению, низкому потреблению памяти и простоте, а не широкому охвату языков. Ключевой целью проектирования является минимальное потребление памяти. Движок предназначен для работы в средах с небольшим объемом доступной оперативной памяти (всего несколько килобайт).

Согласно описанию проекта, он может компилировать и запускать программы на JavaScript, используя всего 10 КБ оперативной памяти , что значительно меньше, чем у обычных движков JavaScript, и делает его подходящим для устройств, где поддержка скриптов традиционно была непрактичной.

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

Стандартная библиотека предназначена для компиляции в ПЗУ, что сокращает выделение памяти во время выполнения и обеспечивает более быструю загрузку. Этот метод соответствует типичным требованиям встроенных систем, где код хранится во флэш-памяти, а использование ОЗУ должно строго контролироваться.

Кроме того, API и модель выполнения также упрощены, чтобы обеспечить детерминированность и простоту встраивания в проекты встроенного ПО, написанные на языке C.

Micro QuickJS распространяется под лицензией с открытым исходным кодом и размещен на GitHub. Хотя он не ставит целью заменить полнофункциональные движки JavaScript, он предоставляет новую возможность запуска логики JavaScript на аппаратных платформах, где ранее такая возможность была нецелесообразной.
Exit mobile version