kateinoigakukunのブログ

思考垂れ流しObserver

Swift 6.2でWebAssemblyサポートを公式化した

Swift 6.2 のリリースで、公式に WebAssembly ターゲットをサポートしました。

https://www.swift.org/blog/swift-6.2-released/#webassembly-support

6.1から何が変わったか

SwiftWasm 6.1のリリースを自慢したい でも書いた通り、6.1 の時点で必要なパッチはすべてアップストリーム済みでした。ただし当時は WebAssembly 向けの Swift SDK を swiftwasm 側が配布していました。6.2 からはこれが swift.org から提供されます。基本的には「配布元が変わっただけ」で機能差はありません。

とはいえこれは信用の話として効いてきます。これまでは Swift SDKサードパーティからの配布だったため、いくつかのSwiftパッケージにWasm の CI チェックを入れる提案に渋い反応をもらうことがありました。今回公式化されたことで話が通りやすくなり、実際にいろんなパッケージで Wasm ビルドを CI に入れてもらえるようになりました。

WasmKit が同梱

6.2 の OSS ツールチェイン(Xcode 同梱版ではなく swift.org で配布される方)には、僕がswiftwasm で引き継いで開発している WebAssembly ランタイム WasmKit も同梱されています。コンパイラツールチェインにWasmランタイムが同梱されているのはなかなか珍しいと思います。

おわりに

公式ドキュメントに step-by-step のガイドがあるので試してみてください。 https://www.swift.org/documentation/articles/wasm-getting-started.html