WASI 0.3 正式版讓 WebAssembly 協作更順
WASI 0.3 正式版把非同步處理收斂到主機端單一事件迴圈,適合先看 5 個重點再決定要不要跟進升級。

WASI 0.3 把 WebAssembly 元件的非同步處理收斂到主機端,讓不同部件更容易一起運作。
這份清單看完,你會知道 WASI 0.1、0.2、0.3 各自解決了什麼問題,也能判斷自己是該先補基礎、直接追元件模型,還是開始評估非同步整合。對已經在做 WebAssembly 服務的人來說,這 5 項足夠幫你決定要不要升級實作與調整架構。
| 項目 | 定位 | 關鍵變化 |
|---|---|---|
| WASI 0.1 | 基礎抽象層 | 把 OS API 抽離,讓 WebAssembly 能跑出瀏覽器 |
| WASI 0.2 | 元件模型導入 | 加入 WIT,並整理 wasi-http、wasi-cli、wasi-clocks |
| WASI 0.3 | 非同步整合 | 改為由主機管理單一事件迴圈 |
| Wasmtime 46 | 參考實作 | 預計支援 WASI 0.3,且 async 預設啟用 |
| Component model 1.0 | 下一階段目標 | 持續補強 ABI 與跨執行環境相容性 |
1. WASI 0.1:先把 WebAssembly 從瀏覽器放出去
訂閱 AI 趨勢週報
每週精選模型發布、工具應用與深度分析,直送信箱。不定期,不騷擾。
不會寄垃圾信,隨時可取消。
WASI 的第一步,不是炫技,而是把 WebAssembly 從單純的瀏覽器技術,變成能在更多環境執行的通用基礎。它的核心是把作業系統相關的 API 先抽象掉,讓同一份模組可以往伺服器、桌面或其他執行器延伸。

對開發者來說,這代表你不必一開始就被特定作業系統綁住。它先解決的是「能不能跑」這件事,之後才是「怎麼更好地跑」。
- 重點:OS API 抽象化
- 用途:擴大到瀏覽器外執行
- 意義:建立可攜式運算的第一層
2. WASI 0.2:元件模型把組裝方式先定下來
到了 WASI 0.2,重點就不只是執行,而是如何把不同語言、不同來源的 WebAssembly 部件拼成一個系統。這一版把元件模型帶進來,讓「模組之間怎麼對接」開始有共同語言。
其中最關鍵的是 WIT,也就是 WebAssembly Interface Type。它像是元件之間的介面說明書,讓型別與功能描述能被一致理解;同時也整理出常見能力,例如 HTTP、命令列與時鐘。
WIT:定義介面的共同格式- 常見項目:
wasi-http、wasi-cli、wasi-clocks - 價值:讓跨語言元件更容易互接
3. WASI 0.3:非同步處理改由主機統一管理
WASI 0.3 最重要的改變,是把原本各元件自己處理的事件迴圈收回到主機端。以前每個元件可能有自己的非同步邏輯,組起來時容易出現責任切割不清、整合成本偏高的問題。

新規格改成由主機管理單一事件迴圈後,元件之間的非同步互動就能放在同一套基礎上協調。這對需要同時處理 I/O、請求轉發、背景工作或多個服務組合的場景特別有感。
- 變更前:各元件各自維護事件迴圈
- 變更後:主機統一調度
- 效果:降低非同步元件混用的摩擦
4. Wasmtime 46:實作跟上,才知道規格能不能用
規格成熟不代表立刻能落地,實作跟不跟得上才是關鍵。WASI 的參考實作 Wasmtime 預計在 46 版支援 WASI 0.3,並把 async 設為預設啟用,這讓開發者有機會直接觀察新規格在真實環境中的表現。
如果你正在評估要不要導入新的 WebAssembly 工作流,實作端的進度通常比文件更有參考價值。能先在 Wasmtime 上試出問題,後面移植到其他執行器時會省很多時間。
- 參考實作:Wasmtime
- 版本焦點:46
- 觀察重點:async 預設開啟後的相容性
5. Component model 1.0:現在做的是鋪路,不是收尾
Bytecode Alliance 對 WASI 的定位很清楚:這不是終點,而是往 Component model 1.0 前進的中繼站。接下來還有 ABI 改善、更多執行環境實作,以及讓規格更容易被採用的工程化工作。
換句話說,WASI 0.3 的價值不只在於「能不能更順」,而是先把元件協作的共通規則定穩。當非同步、介面定義與主機責任都對齊之後,後續才有機會真正跨平台、跨語言地擴大使用。
- 方向:邁向 Component model 1.0
- 待解問題:ABI 與實作一致性
- 長期目標:更廣泛的相容環境
哪種適合你
如果你現在還在理解 WebAssembly 能做到什麼,先看 WASI 0.1 就夠了;如果你已經在設計元件化系統,WASI 0.2 的 WIT 和介面定義會更重要;如果你最在意的是多個非同步部件怎麼一起跑,WASI 0.3 才是這次真正該跟進的版本。
而若你是想評估實際導入時機,先追 Wasmtime 的支援進度最務實。它能幫你判斷現在是適合觀望、試作原型,還是可以開始調整既有架構。