WebAssemblyによるプログラミングに関する世界観です。
WebAssemblyはWebブラウザでアセンブリ言語(機械語)を扱うことのできる技術。
たとえばコンパイル言語のRustなどでWebAssemblyを使うことで、RustをWeb用途のプラットフォーム言語として使うことができる。
アセンブリ言語も参照のこと。
WebAssembly(略称はWASM)は、従来のJavaScriptに代わって、Webブラウザ上でアセンブリ言語を実行できる技術。
WebAssemblyを使うことで、C/C++/Rustなどの低水準言語で記述したアプリケーションを、コンパイルした上でWebブラウザ上あるいはNode.js上で実行できる。
従来のJavaScriptと比べて、大幅にパフォーマンスの向上が期待できる。特に3DゲームやVR、マルチメディアなどの用途で性能向上が期待されている。
JavaScriptやNode.jsも参照のこと。
WebAssemblyの面白い点として、人間が読むために用意されている中間言語表現(テキスト表現)はLispなどと同じS式で記述されている。
Lispも参照のこと。
一部のRustファンからは「JavaScriptの代わりをRustで行える」と期待されており、現にRustコミュニティではWebAssemblyの開発が活発である。
Rustも参照のこと。
以下は、Linux(Debian)をバイナリ編集なしでWebAssemblyによる仮想マシン上で動かしたWebVMという技術の例。
Debianも参照のこと。
2022年12月25日にリリースされたRuby 3.2.0では、WASIでWebAssemblyに対応し、WebブラウザやNode.jsでRubyが実行できるようになりました。
Rubyも参照のこと。
2023.11.30