WebAssembly(Wasm)
概要
WebAssembly(Wasm)は、ブラウザをはじめとする様々な環境で動作する ポータブルなバイナリ命令フォーマット です。C/C++/Rust などの言語からコンパイルでき、ネイティブに近い実行速度と、サンドボックス化された安全な実行環境を両立します。当初はブラウザ向けでしたが、現在はサーバーサイドやエッジでも利用が広がっています。
特徴
- 高速 — 低レベルのバイナリ形式で、JIT/AOT コンパイルにより高速実行
- ポータブル — 単一のバイナリが複数プラットフォームで動作
- 安全 — サンドボックス内で実行され、ホストへのアクセスは明示的に許可された範囲のみ
- 言語非依存 — Rust、C/C++、Go、AssemblyScript など多言語から生成可能
実行環境の広がり
- ブラウザ(JavaScript と相互運用)
- サーバー / エッジ(WASI: WebAssembly System Interface により OS 機能へアクセス)
- プラグイン機構(ホストアプリへ安全に機能を組み込む)
コンポーネントモデル
モジュール間を言語非依存のインタフェースで組み合わせる仕組みが WebAssemblyコンポーネントモデル です。