generated at
WebAssemblyの誕生の経緯

経緯
JavaScriptが遅いと言われた
動的型付け
実行前にコンパイルできず、実行時に逐一機械語に翻訳される
dev toolなどで確認できる ref
アプリケーションの複雑化や規模の増大に伴いフェッチ時間やコンパイル時間が大きくなった
JS自体の最適化の難しさが顕在化 ref
#要出典 ではある
asm.jsが登場, 2013
上の問題を解決するためにMozillaが開発
JavaScriptのサブセット
課題
Emscriptenを使ってasm.jsファイルを作るとファイルが大きくなりがち
ファイルサイズ増大による
通信量の増加
構文解析時間の増加
ネイティブコードへのコンパイル時間の増加
実行は高速だが、それに至るまでが遅くなる

先祖
以下のようなプロジェクトも同じことを目指していたが、持つべきプロパティが不足していた
Java, Flash
低レベルコードはサポートしない
セキュリティとパフォーマンスの面からあまり使われていない
なんでこういう流れができたか
速さだけならネイティブアプリを作ればいい(モバイル)
しかし、ネイティブアプリプラットフォームの手数料は高い
立地な表現もwebでできるようになってきた
参考