WebAssembly: SwiftWasm 5.4 kompiliert Swift-Apps für den Betrieb im Browser

Das Release soll der offiziellen Version Swift 5.4 entsprechen und ermöglicht es, Swift-Code in das portable Codeformat WebAssembly zu kompilieren.

In Pocket speichern vorlesen Druckansicht 5 Kommentare lesen
Lesezeit: 2 Min.
Von
  • Silke Hahn
Inhaltsverzeichnis

Ende April ist Version 5.4 von Apples Programmiersprache Swift erschienen, die als größte Neuerung Nebenläufigkeit unterstützt – passend zu diesem Release ist nun SwiftWasm 5.4 verfügbar. Damit sollen Entwicklerinnen und Entwickler den Code ihrer Swift-Anwendungen in das maschinennahe Codeformat WebAssembly kompilieren können, was einen Betrieb der Anwendungen im Browser ermöglicht.

Aus der Ankündigung im Swift-Forum geht hervor, dass SwiftWasm 5.4 zunächst nur Builds der Architektur x86_64 unterstützt. Der Grund dafür sei der zurzeit noch begrenzte Support von M1 und ARM64 auf CI-Plattformen (Continuous Integration). Demzufolge soll SwiftWasm künftig auch die neuen Prozessoren unterstützen und das SwiftWasm-Team arbeitet dem Foreneintrag zufolge daran, in der Zukunft mehr vorgefertigte Builds bereitzustellen.

Mit dem aktuellen Release hat das SwiftWasm-Team den eigenen Angaben zufolge den letzten noch offenen Pull Request in das Upstream-Repository von Swift eingepflegt. Dieser Schritt markiert das Ende des Forks von SwiftPM, und ab sofort nutzt das Team hier das Upstream-Repository direkt. Laut Max Desiatov, der den Forenbeitrag für das Projektteam erstellt hat, ist das ein wesentlicher Schritt in Richtung WebAssembly in Upstream-Swift.

Einige Forks muss das Team vorerst offenbar noch weiter pflegen, so den von Foundation, XCTest, vom Swift-Compiler mit Runtime und Standard-Library sowie einen Fork des Compilers LLVM/Clang. Aus dem Foreneintrag geht hervor, dass das Upstreaming des gesamten Projekts geplant und in Arbeit ist.

WebAssembly: Workshops von Heise
betterCode() Wasm, Online-Konferenz, Workshops zu WebAssembly und Rust, C#, .NET, Blazor WebAssembly 6.0

Heise richtet im Herbst zwei WebAssembly-Workshops aus: Wer mit .NET und C# arbeitet, kann am 10. September von einem Crashkurs zu Blazor WebAssembly 6.0 profitieren. Am Workshoptag lernen Teilnehmer, echte Single-Page-Web-Apps mit .NET und C# zu entwickeln. Der Kurs baut auf einem Praxisszenario auf und bietet einen kompakten Einstieg in die SPA-Programmierung mit Blazor WebAssembly. Es sind noch Restplätze frei.

Mit Wasm und Rust in den Browser

Am 27. Oktober können Interessierte dann einen Tag lang Grundlagen von Rust lernen und damit selbst Wasm-Module für den Browser erstellen. Vormittags erarbeiten die Teilnehmerinnen und Teilnehmer Grundlagen der Programmiersprache, wobei der Kurs sich auf die für Wasm relevanten Sprachfunktionen konzentriert. Am Nachmittag geht es mit Rust und WebAssembly in den Browser.

Workshop-Tickets kosten jeweils 449 Euro (zzgl. 19 % MwSt.), weitere Informationen finden sich auf der Website der betterCode() Wasm.

Was die Kompatibilität angeht, bestätigt das SwiftWasm-Team in dem Foreneintrag das Zusammenspiel seines x86_64-Builds mit Rosetta auf Big Sur. Zu einer möglichen künftigen Kompatibilität mit Apples Entwicklungsumgebung Xcode in Version 13 (zurzeit noch in der Betaphase) sowie weiteren Builds mag das Team noch keine verbindlichen Zusagen machen.

Wer sich für das Release interessiert, könnte mit der parallel veröffentlichten Software carton 0.11 ebenfalls etwas anfangen: Das Programm zum Überwachen, Bauen und Betreiben von SwiftWasm-Anwendungen soll ab dieser Version die aktuellste Ausgabe von SwiftWasm jeweils automatisch laden.

Der Eintrag zur Ankündigung ist im Swift-Forum nachzulesen. Das Release von SwiftWasm 5.4 ist auf GitHub verfügbar. Ebenfalls auf GitHub findet sich eine (allerdings nicht ganz vollständige) Übersicht der bisherigen Pull Requests.

(sih)