メインコンテンツへ
ソフトウェアWebテクノロジ

WebAssembly(Wasm)の概要として最も適切なものはどれか。

ア.WebAssemblyはJavaScriptの新しいバージョンであり、ES2030以降の規格として標準化された。ブラウザでJavaScriptを置き換えることが目的である。
イ.WebAssemblyはサーバサイドのみで動作し、クライアントのブラウザでは実行できない。Node.jsの内部実行形式として使用される。
ウ.WebAssemblyファイル(.wasmファイル)はテキスト形式で記述され、人間が直接読み書きすることを前提としている。
エ.WebAssemblyはC・C++・Rustなどの言語をブラウザ上で高速実行するためのバイナリ形式。JavaScriptと共存して動作し、計算集約型タスクの高速化に用いられる。正解

解説

WebAssemblyは「ブラウザに持ち込んだ高性能エンジン」。JavaScriptがトラックなら、WasmはF1マシン。普段の街乗り(一般的なWeb処理)はJSで十分だが、サーキット(3Dゲーム・動画編集・AI推論)ではWasmの出番。

なぜ エ が正解か

WebAssembly(Wasm): W3Cが標準化したバイナリ命令形式。ブラウザのサンドボックス内でネイティブに近い速度で実行される。主要特徴: ①C・C++・Rust・Goなどをコンパイルして生成する(JavaScript の代替ではなく補完)。②JavaScriptと相互呼び出し可能。③用途: 3Dゲーム(Unity WebGL)・動画/音声処理・暗号化・CADツール・機械学習推論など計算負荷の高いタスク。④ブラウザだけでなくサーバサイド(Wasmtime・Wasmer)での実行も可能。

なぜ ア は間違いか

WebAssemblyはJavaScriptのバージョンではなく、全く異なるバイナリ形式。JavaScriptを置き換えるのではなく、補完する技術として設計されている。

なぜ イ は間違いか

WebAssemblyはブラウザ(Chrome・Firefox・Safari・Edge等すべての主要ブラウザ)での実行が主用途の一つ。サーバサイドでも使えるが、クライアントでも動く。

なぜ ウ は間違いか

`.wasm`ファイルはバイナリ形式(人間が直接読み書きしない)。テキスト表現として`.wat`(WebAssembly Text Format)が別途存在するが、通常の用途ではバイナリが使われる。

出典: AI生成問題(学習用)