【うぇぶあせんぶりこんぽーねんともでる】
WebAssemblyコンポーネントモデル とは?
公開:
💡 Rustで作った部品とPythonで作った部品を、型安全に接続するWasmの「規格ソケット」
📌 このページのポイント
ペンギン先生、WebAssemblyコンポーネントモデルって何なの?
普通のWebAssemblyはモジュール同士が数値と線形メモリしかやり取りできないんだよ。でもコンポーネントモデルを使うと、文字列・リスト・構造体といった高レベルなデータをモジュール間で受け渡せるようになるんだ。
それがないと何が困るの?
WITって何の略なの?
ブラウザ以外でも使えるの?
WASIと組み合わせると、サーバーやエッジコンピューティング環境でも動くよ。CloudflareのWorkers、Fastlyのエッジ、wasmtimeなどのランタイムがコンポーネントモデルに対応し始めていて、「一度書いてどこでも動く」がより現実的になってきているんだ。
ABIの問題を解決するって聞いたけど、ABIって何なの?
📖 おまけ:英語の意味
「WebAssembly Component Model」 = WebAssemblyコンポーネントモデル
💬 バラバラなWebAssemblyモジュールを「コンポーネント」という統一単位にまとめて、言語の壁を越えて組み合わせられるようにしたモデルだよ。