WebAssemblyはCやC++、Rustなどの言語で開発できます(他にもLLVMを生成する言語であれば何でも良いのですが)。つまり元々Cで開発されたソフトウェアはWebAssembly化できる可能性(あくまでも可能性)がある訳です。 そんな無謀とも言える可能性を感じさせるのがPIBです。なんとPHPをWebブラウザ上で動作させるソフトウェアです。

PIBの使い方

左側にPHPのコード、右側に結果が表示されます。

オブジェクトも使えます。

無名関数も。

正規表現。

Zend frameworkのベンチマーク。

ファイルシステムも仮想的にサポートされています。

PIBはPHP7.2.5をベースに、emccでWebAssembly化しています。つまりPHPのコードをそのまま実行しています。もちろんデータベース接続などできないこともあると思いますが、実行速度は十分に速いです。まだまだバギーだとは思いますが、JavaScriptをほとんど書かずにWebアプリケーションを作り上げられるようになるかも知れません。

PIBはShellスクリプト製のソフトウェア(ソースコードは公開されていますがライセンスは明記されていません)です。

PIB: PHP in Browser oraoto/pib: PHP in Browser (powered by WebAssembly)