Васмер, набір інструментів для додатків WebAssembly

Через два роки розвитку було оголошено про випуск першої версії значний проект Wasmer, яка розробляє середовище виконання модулів WebAssembly.

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

Про Васмера

Переносимість це досягається компіляцією коду програми в проміжному програмному забезпеченні 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 або генерації машинного коду)
    Native Object Engine, що дозволяє генерувати машинний код для даної системи для модуля WebAssembly ("компіляція для власного виробництва" для створення попередньо скомпільованих об'єктних файлів .so, .dylib та .dll).
  • Попередньо скомпільований код вимагає мінімального часу на виконання, але всі можливості ізоляції пісочниці збережені.
  • Безголовий режим для доставки попередньо складених програм із вбудованим Wasmer.
    Підтримка перехресної компіляції, наприклад, для генерації машинного коду для архітектури Aarch64 в системі x86_64.
  • Простий API для створення плагінів та плагінів без необхідності вивчати передові концепції WebAssembly.
  • Підтримка WASM-C-API.
  • Інструменти для налагодження та обробки помилок.

В кінці кінців Якщо вам цікаво дізнатись більше про Васмер, ви повинні знати, що eКод проекту написаний на Rust, він є la Ліцензія MIT, і ви можете перевірити її деталі на офіційному веб-сайті в наступне посилання.

Встановіть час роботи Wasmer

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

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

Для цього просто запустіть у терміналі таку команду:

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

А після цього вони повинні виконати необхідний файл:

тест шайби

Якщо вам потрібно дізнатись більше про те, як працює Васмер, або ви хочете знати його вихідний код, ви можете проконсультуватися з усім цим У наступному посиланні.


Залиште свій коментар

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

*

*

  1. Відповідальний за дані: AB Internet Networks 2008 SL
  2. Призначення даних: Контроль спаму, управління коментарями.
  3. Легітимація: Ваша згода
  4. Передача даних: Дані не передаватимуться третім особам, за винятком юридичних зобов’язань.
  5. Зберігання даних: База даних, розміщена в мережі Occentus Networks (ЄС)
  6. Права: Ви можете будь-коли обмежити, відновити та видалити свою інформацію.