Go 1.11 bringt experimentelle WebAssembly-Unterstützung und Module

Das Go-Team hat am 24. August 2018 Go 1.11 veröffentlicht. Die Version bringt zwei für technische Teams wichtige Neuerungen: einen experimentellen Port nach WebAssembly und erste Module-Funktionen als Alternative zur bisherigen Arbeit innerhalb von GOPATH.

Mit `GOOS=js` und `GOARCH=wasm` kann Go-Code in ein WebAssembly-Modul übersetzt werden. Go 1.11 bündelt dabei die Laufzeit für Goroutinen, Garbage Collection und Maps im Modul. Das führt laut den offiziellen Release Notes zunächst zu einer Mindestgröße von etwa zwei Megabyte beziehungsweise rund 500 Kilobyte in komprimierter Form.

WebAssembly mit JavaScript-Anbindung

Das neue experimentelle Paket `syscall/js` stellt die Verbindung zwischen Go und JavaScript her. Go-Programme können damit Funktionen der Browserumgebung ansprechen. Die WebAssembly-Unterstützung war noch nicht auf kleine Binärdateien oder eine umfassende Interoperabilität mit anderen Sprachen optimiert, eröffnete aber einen weiteren Weg für Werkzeuge und Laufzeitlogik im Browser.

Parallel führte Go 1.11 Module als experimentelles Konzept für Versions- und Abhängigkeitsverwaltung ein. Abhängigkeiten werden damit außerhalb von GOPATH beschrieben, was reproduzierbare Builds und klarere Paketversionen erleichtern soll. Die Details konnten sich in dieser frühen Phase noch ändern.

Die Veröffentlichung knüpft an die Entwicklung von WebAssembly im Browser an. Eine ältere Meldung zu wasm-pack hatte bereits gezeigt, wie Werkzeuge die Übersetzung und Bereitstellung von WebAssembly-Projekten vereinfachen können.

Weitere News

Weitere News

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein