14.04.2025, Ссылка на новость

Мир встраиваемых движков для JavaScript’а весьма небольшой – если рассматривать количество движков, хотя для динамического языка их достаточно. С точки зрения того, сколько необходимо сделать для запуска JavaScript’а в отдельном контексте исполнения - этот мир очень большой.

Встраиваемые JavaScript-движки позволяют запускать код внутри других программ, в том числе без прямой зависимости от браузера. Например при помощи встраиваемых движков можно реализовать систему плагинов (VS Code, Figma), создать песочницу для выполнения кода (CodeSandbox, StackBlitz, Cloudflare Workers), использовать в IoT-устройствах вместо V8 и т.д. Также, такие движки имеют некоторое количество ограничений, например не могут работать с DOM напрямую, или с файловой системой пользователя.

С приходом WASM встраиваемые движки могут быть написаны на C / C++ (или любом другом компилируемом языке) и позже скомпилированы в WASM, что в свою очередь даёт несколько преимуществ: кросс-платформенность, повышенная безопасность, защита от уязвимостей, контроль ресурсов, возможность идентификации пользователей и т.д. Ну и самое главное - можно такой встраиваемый движок JavaScript’а запустить в движке JavaScript’а, чтобы получить движок JavaScript’а внутри JavaScript’а.

Когда встроил движок JavaScript'а

Всеми этими преимуществами обладает [Hako](hakojs.com) – новый встраиваемый движок, основанный на другом движке – PrimJS, который основан на QuickJS.

Ну вы поняли...

Hako находится в активной разработке и имеет все амбиции чтобы стать одним из производительных встраиваемых JavaScript-движков.