【わし】
WASI とは?
💡 WebAssemblyを「ブラウザの外」でも動かす標準規格
📌 このページのポイント
なんでWASIが必要なの?
WebAssemblyはもともとブラウザ向けに設計されたから、ファイルの読み書きやネットワーク通信ができない。サーバーサイドやCLIツールとして使うには、OSの機能(システムコール)にアクセスする方法が必要。WASIがその標準的な橋渡しを提供するんだよ
Dockerとの関係は?
今どこまで使えるの?
WASI Preview 1はファイルI/O、環境変数、乱数、時計などの基本機能を提供。Wasmtime、Wasmer、WasmEdgeなどのランタイムで動作する。WASI Preview 2ではComponent Modelが導入され、異なる言語で書かれたWASMモジュールを組み合わせられるようになった。Cloudflare WorkersやFastly Compute等のエッジランタイムでも採用が進んでいるよ
開発者はどう活用する?
まとめ:ざっくりこれだけ覚えればOK!
「WASI」って出てきたら「WebAssemblyをブラウザ外で動かすためのシステムインターフェース」と思えればだいたいOK!
📖 おまけ:英語の意味
「WebAssembly System Interface」 = WebAssemblyシステムインターフェース
💬 WebAssemblyにSystem Interface(システムとの接点)を提供する規格だよ