Cross-Plattform: Laufzeitumgebung Wasmtime 0.28 unterstĂĽtzt nun auch C++
Mit der umgestalteten API der Runtime soll sich WebAssembly auch in C++-Code einbetten lassen, und das Zusammenspiel mit Rust gilt als verbessert.
- Silke Hahn
Die Bytecode Alliance hat Version 0.28 von Wasmtime herausgebracht, einer Laufzeitumgebung fĂĽr WebAssembly (Wasm). Wichtigste Neuerung ist die grundlegende Neugestaltung der API, die das Implementieren von Rust und die Speicherverwaltung verbessern soll. Ebenfalls neu ist eine Einbettungsoption fĂĽr C++-Code ĂĽber die Codebasis von wasmtime-cpp.
Sprach- und geräteübergreifende Anwendungen
Das Interface der Laufzeitumgebung soll es Entwicklern ermöglichen, WebAssembly-Unterstützung in jede Anwendung einzubinden – unabhängig davon, in welcher Programmiersprache diese geschrieben sein mag. Bislang unterstützt Wasmtime das Einbetten von Wasm in Anwendungen in Rust, C, Python, .NET, Go, Bash und ab sofort auch offiziell C++. Für eine Reihe weiterer Sprachen gibt es inoffizielle Einbindungen.
Wasmtime ist ein Hauptprojekt der Bytecode Alliance, die 2019 mit dem Ziel gegründet wurde, WebAssembly überall (auch jenseits des Browsers) zum Laufen zu bringen. Im Kern ist Wasmtime eine in Rust geschriebene Standalone-Runtime für WebAssembly im Just-in-Time-Stil (JIT). In Kombination mit dem Code-Generator Cranelift lässt sich damit Code aller unterstützten Programmiersprachen in ausführbaren Maschinencode übersetzen. Version 0.28 der Wasm-Laufzeitumgebung steht auf GitHub zum Download bereit.
Mit dem aktuellen Minor Release setzt die Allianz den Release-Reigen rund um Wasm fort, nachdem zuletzt Version 0.5 des W3C-Standards Wasm3 und der das Release 2.0 einer weiteren Laufzeitumgebung namens Wasmer die Bühne betreten hatten – das erste Major Release von Wasmer ist seit Januar 2021 verfügbar, Anfang Juni hatte das Entwicklungsteam dann das zweite Major Release veröffentlicht.
Am 31. August veranstalten heise Developer und dpunkt.verlag eine Online-Konferenz zu WebAssembly (Wasm). Wer teilnimmt, erfährt, was Wasm genau ist, wie es sich mit der eigenen Lieblingssprache einsetzen lässt, und was die junge Technologie zum Beispiel als Alternative zu Containern qualifiziert.
Was Wasm im Frontend und im Backend leistet und wie es dabei hilft, eigene Projekte voranzutreiben, zeigen die Referenten an praxisnahen Beispielen. Der Tag spannt einen Bogen vom Enterprise-Bereich mit Blazor, C# und .NET ĂĽber Rust und JavaScript hin zu Deno, Flutter sowie Kubelets. Mehr Informationen finden sich auf der Website.
Bytecode Alliance fĂĽr die Cross-Plattform-Entwicklung
Mozilla, Fastly, Intel, Microsoft und weitere an der Cross-Plattform-Entwicklung interessierte Organisationen haben sich 2019 in der Bytecode Alliance zusammengeschlossen, um den noch relativ jungen W3C-Standard WebAssembly technisch voranzutreiben und die Entwicklung eines eigenständigen Ökosystems für den Cross-Plattform-Einsatz zu fördern. Wasm bietet geräte- und plattformübergreifende Standardisierung, wobei es einerseits als "vierte Sprache des Web", andererseits als richtungsweisend bei der Entwicklung von Applikationen gilt. Seit April 2021 verfügt die Bytecode Alliance über den Status als gemeinnützige Non-Profit-Organisation.
[Update-Hinweis vom 17.6.2021] Major Release 2.0 von Wasmer ergänzt. In der ursprünglichen Fassung hatte nur der Release Candidate Erwähnung gefunden.
(sih)