🍋
Menu
.wasm Other

WebAssemblyバイナリ

WebAssembly(Wasm)はスタックベースの仮想マシン用バイナリ命令フォーマットです。ゲーム、動画編集、CAD、科学シミュレーションなどのアプリケーションで、Webブラウザ上でネイティブに近いパフォーマンスを実現します。C、C++、Rust、Goのコードをコンパイルしてポータブルに実行できます。

MIMEタイプ

application/wasm

種類

バイナリ

圧縮

無劣化

メリット

  • + Near-native execution speed in web browsers
  • + Compile from C, C++, Rust, Go, and more
  • + Sandboxed execution for security
  • + Portable — runs in browsers and server-side via WASI

デメリット

  • No direct DOM access — requires JavaScript interop
  • Debugging is harder than JavaScript
  • Binary format is not human-readable

.WASMを使うタイミング

CPU集約的なWebアプリケーション、ブラウザへのネイティブコードの移植、WASIによるサーバーレスエッジ関数にWasmを使用してください。

技術的詳細

Wasmは型付き関数、リニアメモリ、安全性を保証する検証ステップを持つコンパクトなバイナリフォーマットを使用します。DOMへの直接アクセスのないサンドボックス環境で実行され、JavaScriptブリッジがI/Oを提供します。WASIはサーバーサイド用途にWasmを拡張します。

歴史

W3Cは2017年にMozilla、Google、Microsoft、Appleが開発したWebAssembly 1.0をリリースしました。決定論的で予測可能なパフォーマンスでJavaScriptを補完する、Web向けコンパイルターゲットとして設計されました。

.WASMから変換

.WASMに変換

関連フォーマット

関連用語