やじうまの杜
「Ruby」環境がWebブラウザー上で動作する時代に! サーバーを介さずに処理が完結
「Ruby」言語のWebAssembly/WASIポートを使ってファイルはたった51行のHTMLだけ
2022年3月25日 06:45
「やじうまの杜」では、ニュース・レビューにこだわらない幅広い話題をお伝えします。
最近の「Ruby」言語はWebブラウザーでも動作するのだとか。しかも、実行する際にWebサーバーとのやりとりは不要で、処理はローカルで完結するのだそう。
Ruby WASM/WASI を使った完全ローカルでブラウザ上で動くRubyできた。https://t.co/lQ86OmJezApic.twitter.com/VPdH2UpmTS
— おんがえし (@ongaeshi)March 21, 2022
ソースコードは「GitHub」で公開されていますが、ファイルは「index.html」の1枚だけで、その内容もたったの51行。とってもシンプルです。「Ruby」言語のWebAssembly/WASI実装をダウンロードして読み込み、テキストボックスに入力されたRubyコードを評価(eval)させて、もう一つのテキストボックスに出力している仕掛けになっているようですね。
WebAssemblyは皆さんもご存じの通り、Webブラウザーで動作可能なバイナリ形式のこと。WASI(WebAssembly System Interface)はそれをWebブラウザー以外の環境――WindowsやMac、Linuxなど――でも実行できるようにしたものだそうです。
セキュリティも考慮されており、ファイルやネットワークといったホストOSのリソースへのアクセスを提供しつつ、悪い影響を及ぼさないようサンドボックス化されています。小さな仮想マシンのようなものを想像すればよいのでしょうか。
最近はWebブラウザーで「Debian」が動いたりしていますが、なんだかすごい世の中になってきましたね(小並感)。