Wasmer, набор инструментов для приложений WebAssembly

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

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

О Wasmer

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

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

Инструментарий Emscripten можно использовать для компиляции в WebAssemblyПомимо преобразования WebAssembly в машинный код текущей платформы, подключено несколько фреймворков, таких как LLVM и генератор кода Cranelift.

С другой стороны, управление доступом и взаимодействие с системой обеспечивается через API WASI (WebAssembly System Interface), который предоставляет программные интерфейсы для работы с файлами, сокетами и другими функциями, предоставляемыми операционной системой.

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

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

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

Что же касается Возможности Wasmer версии 1.0 выделяются следующие:

  • Высокая производительность запущенных приложений, близкая к выполнению нативных сборок и высокая скорость компиляции.
  • Расширяемая архитектура с возможностью подключения различных серверных модулей сборки (Singlepass, Cranelift, LLVM) и движков (с использованием JIT или генерации машинного кода).
    Собственный объектный движок, который позволяет генерировать машинный код для данной системы для модуля WebAssembly («собственная компиляция wasmer» для создания предварительно скомпилированных объектных файлов .so, .dylib и .dll).
  • Предварительно скомпилированный код требует минимального времени выполнения для запуска, но все возможности изоляции песочницы сохраняются.
  • Безголовый режим для доставки предварительно скомпилированных программ со встроенным Wasmer.
    Поддержка кросс-компиляции, например, для генерации машинного кода для архитектуры Aarch64 в системе x86_64.
  • Простой API для создания плагинов и плагинов без необходимости изучать сложные концепции WebAssembly.
  • Поддержка WASM-C-API.
  • Инструменты для отладки и обработки ошибок.

В конце концов Если вы хотите узнать больше о Wasmer, ты должен знать, что еКод проекта написан на Rust, в нем есть la Лицензия MIT, и вы можете проверить ее детали на официальном сайте по адресу: по следующей ссылке.

Установите среду выполнения Wasmer

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

Важно отметить, что Wasmer можно запускать на любой платформе macOS, Linux и Windows, единственное требование - установить его среду выполнения в вашей системе.

Для этого просто запустите в терминале следующую команду:

curl https://get.wasmer.io -sSfL | ш

И после этого они должны выполнить требуемый файл:

Васмер тест.wasm

Если вам нужно узнать больше о том, как работает Wasmer, или вы хотите узнать его исходный код, вы можете проконсультироваться со всем этим. По следующей ссылке.


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

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

*

*

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