Wasmer 3.0 поставляется с улучшениями в WASI, API, управлении памятью и многом другом.

Васмер

Wasmer — это быстрая и безопасная среда выполнения WebAssembly, которая позволяет запускать сверхлегкие контейнеры где угодно: от настольных компьютеров до облачных, периферийных и IoT-устройств.

Спустя почти 6 месяцев с момента предыдущего выпуска, вышла новая версия Wasmer 3.0, третья основная версия проекта, которая развивается среда выполнения для выполнения модулей WebAssembly которые можно использовать для создания универсальных приложений, которые могут работать в разных операционных системах, а также для ненадежного выполнения кода.

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

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

Чтобы перевести WebAssembly в машинный код текущей платформы, вам поддерживает подключение различных бэкэндов сборки (Singlepass, Cranelift, LLVM) и двигателей (с использованием JIT или генерации машинного кода). Управление доступом и взаимодействие с системой обеспечивается API WASI (WebAssembly System Interface), который предоставляет программные интерфейсы для работы с файлами, сокетами и другими функциями, предоставляемыми операционной системой.

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

Основные новинки Wasmer 3.0

В этой новой версии Wasmer 3.0 возможность создавать собственные исполняемые файлы для любой платформы. Команда "Wasmer Create-exe» был полностью переработан для преобразования файла промежуточного кода WebAssembly в автономные исполняемые файлы для платформ Linux, Windows и macOS, которые можно запускать без установки Wasmer.

Еще одна новинка, которая представлена, заключается в том, что возможность запуска пакетов WAPM находится в каталоге wapm.io с помощью команды «wasmer run». Например, выполнить "васмер запускает питон/питон» загрузит пакет python из репозитория wapm.io и запустит его.

API Wasmer Rust был полностью переработан., изменив способ обработки памяти и обеспечив возможность безопасного хранения объектов Wasm в структуре Store.

В этой новой версии Wasmer 3.0 также выделяется улучшенная реализация WASI API (WebAssembly System Interface), помимо исправления проблем в WASI API для работы с файловой системой. Внутренние типы были переработаны с использованием WAI (интерфейсов WebAssembly), что позволит в будущем реализовать ряд новых функций.

Вдобавок к этому упростились и движки, так как вместо отдельных движков для JIT используется динамическая и статическая привязка (Universal, Dylib, StaticLib), теперь предлагает общий движок и загружает и сохраняет код который управляется на уровне настройки параметров.

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

Из другие изменения которые выделяются из этой новой версии:

  • Использование rkyv значительно увеличило скорость запуска.
  • Компилятор Singlepass был улучшен для поддержки многозначных функций, повышения надежности и добавления поддержки платформ обработки исключений.
  • Набор компонентов Васмер-JS был реализован для запуска Wasmer в веб-браузере и взаимодействия с ним из JavaScript с использованием библиотеки Васм-биндген.
  • Была предложена новая структура. ПамятьView который позволяет читать и записывать данные в линейную область памяти.

Наконец, следует упомянуть, что программы распространяются в виде обычных модулей WebAssembly, которыми можно управлять с помощью менеджера пакетов WAPM. Wasmer также доступен в виде библиотеки, которую можно использовать для встраивания кода WebAssembly в программы Rust, C/C++, C#, D, Python, JavaScript, Go, PHP, Ruby, Elixir и Java.

Код проекта написан на Rust и распространяется под лицензией MIT, подробнее об этом можно узнать, По следующей ссылке.


Оставьте свой комментарий

Ваш электронный адрес не будет опубликован. Обязательные для заполнения поля помечены *

*

*

  1. Ответственный за данные: AB Internet Networks 2008 SL
  2. Назначение данных: контроль спама, управление комментариями.
  3. Легитимация: ваше согласие
  4. Передача данных: данные не будут переданы третьим лицам, кроме как по закону.
  5. Хранение данных: база данных, размещенная в Occentus Networks (ЕС)
  6. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.