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.

- Silke Hahn
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.
UnterstĂĽtzung vorerst nur fĂĽr x86_64-Architektur
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.
Auf dem Weg in die Upstream-Repositories von Swift
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.
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.
- Crashkurs Blazor WebAssembly 6.0: Echte SPWA mit .NET und C# entwickeln, 10. September, 9-17 Uhr (online)
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.
- Wasm-Module fĂĽr den Browser mit Rust entwickeln, 27. Oktober, 9-17 Uhr (online)
Workshop-Tickets kosten jeweils 449 Euro (zzgl. 19 % MwSt.), weitere Informationen finden sich auf der Website der betterCode() Wasm.
Kompatibel mit Rosetta auf Big Sur
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.
WeiterfĂĽhrende Hinweise
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)