WebAssembly
WebAssembly
Webブラウザ上でプログラムを高速に動かすための技術
簡単に説明すると
Webブラウザ上でプログラムを高速に動かすための技術だよ。 あらかじめブラウザが読み込みやすい専用の形式に変換して使用するんだ。 他のプログラミング言語で作成したプログラムを変換して動かせるから、3Dゲームや動画編集ソフトといった重い処理もブラウザ上で動くようになるよ。 画面の操作はJavaScriptが担当して、時間のかかる重い計算処理はWebAssemblyが担当するというように、お互いに連携して動くんだ。
名前のヒミツ
WebAssembly(ウェブアセンブリ)は、Webと、人間が読める形よりも低水準でコンパクトな命令体系を意味するAssemblyを組み合わせた言葉だよ。 Webブラウザ上で効率よく読み込んで実行できるように設計された、コンパクトなプログラム形式という意味が込められているんだ。
くわしく見てみよう!
WebAssemblyとは、Webブラウザ上でプログラムを高速に実行するための技術のことだよ。
略して「Wasm(ワズム)」とも呼ばれるんだ。
Webページを動かすときは、昔からJavaScriptというプログラミング言語が使われてきたんだ。
JavaScriptは様々な処理をこなせるものの、動画の処理や3Dグラフィックスといった特に重い処理や複雑な計算では、より高い性能が求められることもあるんだよ。
そこでWebAssemblyを活用すると、あらかじめブラウザが読み込みやすいバイナリ形式に変換されているため、JavaScriptだけで処理するよりも効率的に実行できることが多いんだ。
もうひとつの特徴は、C言語やRustといった別のプログラミング言語で書いたコードを、WebAssemblyに変換してブラウザ上で動かせることだよ。
これによって、本格的な3Dゲームや動画編集ソフトといった重い処理も、Webブラウザ上でスムーズに動かせるんだ。
JavaScriptの代わりになるものではなく、お互いに協力して働くように作られているんだよ。
画面の操作などはJavaScriptに任せて、裏側の重い計算だけWebAssemblyに担当させる、という使い分けができるんだ。