WebAssemblyは、高速かつセキュアなアプリケーションをブラウザや多様なプラットフォームで実現する技術である。2015年に開発が始まり、現在ではAI、クラウド、科学技術など多種多様な分野で注目されている。プラットフォーム非依存で高い性能を発揮し、既存のJavaScriptとの連携も容易である。しかし、企業がWebAssemblyを導入する際は、学習コストやライセンスリスクなどに留意する必要がある。
WebAssembly(以降、「Wasm」)は、Webブラウザ(以降、「ブラウザ」)内でアプリケーションの性能を向上させるために考案されたバイナリフォーマットである。Wasmでは実行可能ファイルを表現するためのポータビリティのあるバイナリ形式を定義し、Wasmで開発された実行可能プログラムが外部環境と通信するためのAPIを提供する。Wasmは仮想命令セットアーキテクチャを持ち、プラットフォームに依存することなく、どのようなデバイスでも同じ動作を行う。これにより、これまでWeb対応が容易ではなかったC、C++、Rustなどのプログラム言語で書かれたコードを、ブラウザで実行することが可能となる。Wasmは、当初ブラウザのために考案されたが、Webに特化した仕様ではなくWeb特有の機能を提供するわけではないので、Web以外の環境でも利用可能である。Wasmの主な特徴を図1に示す。