【ウェブアセンブリランタイム】

WebAssemblyランタイム とは?

公開:
💡 どこでも動く万能プレーヤー、Wasmの実行エンジン!
📌 このページのポイント
WebAssemblyランタイムの仕組み Rust C / C++ Go 各種言語 Wasm バイトコード Wasmランタイム サンドボックス実行 WASI(システムAPI) メモリ管理 実行環境 ブラウザ サーバー エッジ
WebAssemblyランタイムのイメージ
ひよこ ひよこ
WebAssemblyランタイムって何なの?
ペンギン先生 ペンギン先生
WebAssemblyのコードを実行するためのエンジンだよ。ブラウザにも内蔵されているし、ブラウザの外で動く専用のランタイムもあるんだ。
ひよこ ひよこ
ブラウザの外で動かす意味ってあるの?
ペンギン先生 ペンギン先生
あるよ!サーバーサイドやエッジコンピューティングWasmを使うと、コンテナより軽量で起動が速いんだ。代表的なランタイムにはWasmtime、Wasmer、WasmEdgeなどがあるよ。
ひよこ ひよこ
コンテナと比べてどこがいいの?
ペンギン先生 ペンギン先生
Wasmランタイムサンドボックスで安全に隔離されるし、起動がミリ秒単位で超高速なんだ。サイズも小さいからエッジ環境にぴったりだよ。
ひよこ ひよこ
どんな言語で書いたプログラムが動かせるの?
ペンギン先生 ペンギン先生
Rust、C、C++、Go、AssemblyScriptなど、Wasmコンパイルできる言語ならなんでもOKだよ。言語に依存しないのがWasmの大きな強みだね。
ひよこ ひよこ
将来的にはもっと広がっていくの?
ペンギン先生 ペンギン先生
WASIWebAssembly System Interface)という標準APIが整備されて、ファイルやネットワークへのアクセスも安全にできるようになってきているよ。「Dockerが発明された時にWasmがあれば、Dockerは不要だった」というDocker創業者の言葉もあるくらい注目されているんだ。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
WebAssemblyランタイム」って出てきたら「Wasmを動かすための実行環境」と思えればだいたいOK!
📖 おまけ:英語の意味
「WebAssembly Runtime」 = WebAssembly実行環境
💬 Runtimeは「実行時」という意味で、Wasmコードを実際に動かすエンジンのことを指すよ
← 用語集にもどる