ファイルを知る、使いこなす。
.wasm

WebAssemblyバイナリ

Web・開発

WASMはWebAssemblyのバイナリモジュールです。HTMLのように単独で表示する文書ではなく、Webアプリや対応ランタイムが読み込んで使います。関連するJavaScript、importsや必要な実行機能を確認し、任意のWASMを試しに実行しないでください。

主な用途
コンパイル済みモジュールを実行環境へ渡す
中身の種類
実行形式・スクリプト
目次・よくある質問・根拠資料を見る

内容の最終確認: · 編集:Kai

開き方・操作手順

使っている環境や目的の項目を開いて、手順を確認してください。

WebAssembly対応ランタイム / 開発ツール

原本を残し、対応アプリで内容を確認する方法です。

  1. 配布元のアプリや開発プロジェクトを確認します。
  2. 開発ツールでモジュールのimports・exports等を確認します。
  3. 実行が必要な場合だけ、指定の対応環境と検証用データで試します。
受け取ったファイルの条件を調べる

必要な付属ファイルや設定を、開く前に確認します。

  1. ブラウザー向けか、別のランタイム向けか確認します。
  2. JavaScript等の呼び出し側と必要な機能を確認します。
  3. 配信のMIME typeやパス、取得結果を確認します。

操作名・対応状況はアプリ・OS・版によって異なります。変更する前に原本を残してください。

開けないとき:症状から確認

  • ダブルクリックで開けない:利用アプリやランタイムが必要です。
  • MIME typeエラー:配信設定とapplication/wasmの対応を確認します。
  • importsエラー:呼び出し側の提供する関数・メモリー等を確認します。
  • 古い環境で検証失敗:使用機能とランタイム対応を確認します。

WASM → WAT / 元ソースから再ビルド

  1. 調査には対応ツールでWAT等を出力し、移植は元ソースとビルド環境から検討します。
  2. 対象ランタイム、必要機能、imports・exportsと関連ファイルを確認します。

WATは人が書いた元ソースの復元ではありません。WASMの改名でJavaScript等にはなりません。

モジュールとホストの組み合わせ

WASMが要求するimportsをホスト側が供給します。ブラウザー向けのファイルを別ランタイムへ置くだけで動くとは限らず、API、メモリーと入出力の条件を確認します。

この手順の根拠:Mozilla / MDN · WebAssembly concepts / Mozilla / MDN · Understanding WebAssembly text format

具体例:受け渡し前にここを確認

例:Webアプリの読み込み失敗では、まずNetworkの取得先がHTMLエラーになっていないか、MIMEとモジュールのimportsが一致するか確認します。

この手順の根拠:Mozilla / MDN · WebAssembly concepts / Mozilla / MDN · Understanding WebAssembly text format

関連形式との違い

関連形式との違い
形式・方法用途と引き継ぐ情報
.wasmコンパイル済みモジュールを実行環境へ渡す
JS / WATJSは別言語のコード、WATはWebAssemblyのテキスト表現です。
WASM → WAT / 元ソースから再ビルドWATは人が書いた元ソースの復元ではありません。WASMの改名でJavaScript等にはなりません。

取り扱いと安全性

実行時の権限や利用できるホスト機能を確認します。バイナリで読みにくいことを安全性の根拠にしないでください。

よくある質問

WASMは動画や画像?

実行用のバイナリモジュールです。用途は呼び出すアプリによります。

WATと同じ?

WATはWebAssemblyのテキスト表現で、WASMはバイナリ表現です。

単独ファイルで必ず実行できる?

ホストのimportsや関連JavaScript等を必要とする場合があります。

形式の基本情報:正式名称・MIME type・管理団体
名称
WebAssembly Binary
管理・仕様
Mozilla / MDN
MIME type
application/wasm

公式・一次情報

  • ソフトウェア公式WebAssembly concepts

    WebAssemblyのバイナリモジュールと実行環境。

    Mozilla / MDN · リンク確認:
  • ソフトウェア公式Understanding WebAssembly text format

    WATとWASM、imports・exportsの関係。

    Mozilla / MDN · リンク確認: