В конце октября 2024 года состоялся релиз проекта Wasmer 5.0. Это открытый инструментарий для создания приложений на базе WebAssembly, который можно использовать для создания универсальных приложений, способных выполняться в разных операционных системах.
Wasmer можно использовать для изолированного выполнения не заслуживающих доверия блоков кода в составе обычных приложений. Исходный код проекта написан на языке Rust и опубликован на GitHub под лицензией MIT.По данным OpenNET, возможность запуска одного приложения с помощью Wasmer на разных платформах реализована через компиляцию в низкоуровневый промежуточный код WebAssembly, который может запускаться в любых ОС или встраиваться в программы на других языках программирования.
Программы в Wasmer представляют собой легковесные контейнеры, в которых выполняется псевдокод WebAssembly. Данные контейнеры не привязаны к операционной системе и могут включать код, изначально написанный на любом языке программирования.Для для выполнения промежуточного кода WebAssembly или его трансляции в машинный код целевой платформы в Wasmer предлагаются различные бэкенды: на базе компилятора Singlepass, на базе генератора кода Cranelift, на базе компилятора LLVM, для запуска в веб-браузере, на базе JavaScript-движка JavascriptCore, на базе JavaScript-движка V8, а базе интерпретатора Wasmi и на базе runtime WAMR.Для запуска WebAssembly-контейнера достаточно установить в системе runtime Wasmer, который поставляется без внешних зависимостей ("curl https://get.wasmer.io -sSfL | sh"), и запустить необходимый файл ("wasmer test.wasm").
Читать на habr.com