一覧に戻る
Lv.3

WebAssembly

WebAssembly

Webブラウザ上でプログラムを高速に動かすための技術

簡単に説明すると

WebAssemblyは、Webブラウザ上でプログラムを高速に実行するための技術だよ。 あらかじめブラウザが読み込みやすい形式に変換することで、JavaScriptだけでは難しい複雑な計算も効率よく処理できるんだ。 C言語やRustなどで作られたプログラムを変換して使うことで、本格的な3Dゲームや動画編集ソフトといった重い処理もブラウザ上でスムーズに動かせるよ。 画面操作はJavaScript、重い計算はWebAssemblyと協力して働くのが特徴だよ。

名前のヒミツ

Web(ウェブ)と、人間が読める形よりも低水準でコンパクトな命令体系を意味するAssembly(アセンブリ)を組み合わせた言葉だよ。 Webブラウザ上で効率よく読み込んで実行できるように設計された、コンパクトなプログラム形式という意味が込められているんだ。

くわしく見てみよう!

WebAssemblyとは、Webブラウザ上でプログラムを高速に実行するための技術のことだよ。
略して「Wasm(ワズム)」とも呼ばれるんだ。

Webページを動かすときは、昔からJavaScriptというプログラミング言語が使われてきたんだ。
JavaScriptは様々な処理をこなせるものの、動画の処理や3Dグラフィックスといった特に重い処理や複雑な計算では、より高い性能が求められることもあるんだよ。

そこでWebAssemblyを活用すると、あらかじめブラウザが読み込みやすいバイナリ形式に変換されているため、JavaScriptだけで処理するよりも効率的に実行できることが多いんだ。

もうひとつの特徴は、C言語やRustといった別のプログラミング言語で書いたコードを、WebAssemblyに変換してブラウザ上で動かせることだよ。
これによって、本格的な3Dゲームや動画編集ソフトといった重い処理も、Webブラウザ上でスムーズに動かせるんだ。

JavaScriptの代わりになるものではなく、お互いに協力して働くように作られているんだよ。
画面の操作などはJavaScriptに任せて、裏側の重い計算だけWebAssemblyに担当させる、という使い分けができるんだ。