Mozilla veröffentlicht eine IDE für WebAssembly
Das browserbasierte Werkzeug kann C/C++- und Rust-Code in WebAssembly-Binaries kompilieren. WebAssembly Studio ist jedoch vor allem für Lernzwecke gedacht und kein umfangreiches Entwicklerwerkzeug.
Mit WebAssembly Studio hat Mozilla eine Browser-IDE veröffentlicht, die vor allem zum Lernen von WebAssembly gedacht ist. Entwickler können mit C/C++ und Rust Programme für das Binärformat erstellen. Das Tool bringt als Startprojekt auch ein klassisches "Hello World"-Beispiel mit. Dabei erklärt es die Umsetzung der C-Befehle wie printf für den Browser, um sie in DOM-APIs (Document Object Model) zu realisieren.
Das Team hat im Dezember 2017 die beiden Projekte WasmExplorer und WasmFiddle als Basis für WebAssembly Studio zusammengeführt. Die IDE ist ein Open-Source-Projekt und hat wohl schon in der Anfangsphase einige Contributors gewonnen. Derzeit sind die Funktionen jedoch noch begrenzt, und laut dem Blogbeitrag befindet sich das Tool eher in der Alpha- als in einer Betaphase.
Einblick in WASM-Binaries
WebAssembly Studio bietet derzeit rudimentäre Möglichkeiten für C/C++ und Rust. Der Compiler läuft zunächst ausschließlich auf dem Server. Spannend ist, dass Entwickler .wat- und .wasm-Module bearbeiten können und das Tool dabei Hilfe zu den einzelnen Befehlen und Schlüsselwörtern anzeigt.
Über Kontextmenüs lassen sich Module überprüfen, Optimierungen einbringen und Binaries mit Wabt in das WebAssembly-Textformat disassemblieren. Der Binary Explorer gibt einen Einblick der Umsetzung in Binärcode. Der Befehlt Generate Call Graph erzeugt eine grafische Übersicht der Aufrufe.
Interessierte Entwickler können WebAssembly Studio derzeit mit leeren Projekten in Rust, C/C++, AssemblyScript, Wat (WebAssembly Text) sowie dem "Hello World"-Beispiel in C auf der Projektsite ausprobieren. Der Quellcode ist auf GitHub zu finden.
Binärformat für den Browser
WebAssembly (wasm) ist ein Ansatz zur clientseitigen Browserprogrammierung und setzt auf ein Binärformat. Es soll JavaScript nicht ersetzen, sondern ergänzen und vor allem dort zum Einsatz kommen, wo hohe Performance erforderlich ist. Grundsätzlich ist der Ansatz des Binärformats nicht neu: ActiveX und Java gehören zu den prominentesten Vertretern. Java scheiterte im Browser wie auch Adobe Flash vor allem an zahlreichen Sicherheitslücken, ActiveX schon am Alleingang Microsofts. (rme)