WebAssembly: Wasmer 2.1 ermöglicht das Ausführen von Rust-Projekten im Browser

Das Open-Source-Paket Wasmer.js erhält ein Update und bringt Rust-Projekte in den Browser. Die Runtime für WebAssembly weiß darüber hinaus mit iOS umzugehen.

In Pocket speichern vorlesen Druckansicht 100 Kommentare lesen

(Bild: Andrey Suslov/Shutterstock.com)

Lesezeit: 2 Min.
Von
  • Madeleine Domogalla

Das Wasmer-Team hat Version 2.1 der Runtime für WebAssembly (Wasm) veröffentlicht. Das Update bringt plattformübergreifenden Support für WebAssembly-Anwendungen, überarbeitet die Unterstützung für iOS und aktualisiert die Compilerinfrastruktur LLVM.

Auch Wasmer-js hat ein Update erhalten. Es handelt sich dabei um ein Monorepo (monolithic repository), was mehrere frei zugängliche JavaScript-Pakete enthält, womit sich Wasm-Module in Node.js und dem Browser ausführen lassen. Mit dem Update von Wasmer-js stellt das WebAssembly System Interface (WASI) mittels wasm-bindgen auf die Rust-Implementierung um. Das ermöglicht eine plattformübergreifende Unterstützung für WebAssembly-Anwendungen, die die WASI-Implementierung im Browser oder auf dem Server nutzen, einschließlich Plattformen wie Node.js oder Deno mit js-default.

Entwicklerinnen und Entwickler haben nun die Option, Rust-Projekte, die Wasmer.js verwenden, im Browser auszuführen. Dafür ist laut Blogbeitrag Folgendes notwendig:

[dependencies]​
wasmer = { version = "2.1.0", default-features=false, features=["js-default"]}​

Das Wasmer-Team hat ein neues In-Memory-Dateisystem entwickelt, mit dem sich WASI und Wasmer in sämtlichen JavaScript-Umgebungen ausführen lassen, in denen der Zugriff aus das Host-Dateisystem eingeschränkt ist.

Darüber hinaus spricht Wasmer 2.1 ab sofort auch mit dem iOS-Betriebssystem. Aufgrund der JIT-Compiler-Beschränkungen im App Store war für die Erstellung von WebAssembly-Komponenten für iOS eine Vorabgenehmigung von Apple erforderlich, alternativ konnten die Benutzer die Module manuell auf den Geräten installieren. Mit Wasmer 2.1 können Entwicklerinnen und Entwickler eine .wasm-Datei in eine .dylib-Datei vorkompilieren und sie dann zur Laufzeit über die Dylib-Engine laden. Eine Vorabgenehmigung durch den App Store ist nicht erforderlich.

Mit dem Update hat das Team auch die Unterstützung der Compilerinfrastruktur LLVM von Version 11 auf Version 13 aktualisiert. Nähere Informationen zum Update finden sich im Beitrag auf dem Wasmer-Blog.

(mdo)