WebAssembly製のx86仮想マシン「WebVM」が登場、Webブラウザ上でLinuxや各種コマンド、アプリがそのまま実行可能
今回は「WebAssembly製のx86仮想マシン「WebVM」が登場、Webブラウザ上でLinuxや各種コマンド、アプリがそのまま実行可能」についてご紹介します。
関連ワード (仮想化技術、作成、変更等) についても参考にしながら、ぜひ本記事について議論していってくださいね。
本記事は、Publickey様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。
Leaning Technologiesは、Webブラウザ上でx86バイナリをそのまま実行できるWebAsesmbly製の仮想マシン「WebVM」を発表しました(同社による紹介記事「WebVM: server-less x86 virtual machines in the browser」)。
Google ChromeやMicrosoft Edge、Firefox、Safariなどのモダンブラウザであれば、上記のURLにアクセスすることで誰でもWebブラウザ上にx86仮想マシンを走らせることが出来ます。
WebVMではx86仮想マシンの上でDebian Linuxのバイナリが変更なしに、Webブラウザ上でそのまま稼働し、さまざまなコマンドも実行可能。
LinuxアプリケーションのサンプルとしてNode.jsやPython、Rubyなどの環境も用意されており、実際に動かして試すこともできます。
まさにWebブラウザの上でLinuxマシンが動いている感じです。
Webブラウザ上で既存のソフトウェアを実行
WebVMは同社の製品やサービスというわけではなく、同社が提供している製品群の機能や能力を示すためのデモとして作成され、公開されたものです。
具体的にはWebVMのコアとなっているのが「CheerpX」と呼ばれるWebAssembly製のx86マシンの仮想化技術を備えたソフトウェア製品。
この製品はx86のバイナリコードをWebAssemblyに変換して実行するJIT(Just In Compiler)機能を備えています。これによりWebブラウザ上でx86バイナリの実行可能になります。
さらにサンドボックス化したファイルシステムをWebブラウザ上に提供し、OpenGLはWebGLへ、UDPなどの通信をWebRTCへ変換するなど、さまざまなAPIをWeb標準に変換して実装することも行っていると説明されています。
同社はほかにもC/C++のコードをWebAssemblyにコンパイルする「Cheerpコンパイラ」、JavaのバイトコードをWebブラウザ上で実行できるようにする「CheerpJ」なども提供しており、既存のソフトウェア資産をそのままWebブラウザで実行するためのソリューションを揃えています。
Webブラウザでx86マシンとLinuxがそのまま動いてしまうWebVMの公開は、そうした同社の製品群のデモンストレーションとしてだけでなく、モダンWebブラウザとWebAssemblyの能力と可能性についても多くのITエンジニアにアピールするものになったのではないでしょうか。
関連記事
- Amazon Prime Videoが動画再生にWebAssemblyを採用。再生デバイス上にWasm VMをデプロイ、高フレームレートなど実現
- RubyがWebAssemblyのWASI対応へ前進。ブラウザでもサーバでもエッジでもどこでもWebAssembly版Rubyが動くように
- WebAssemblyアプリ開発で最も使われている言語はRust、注目の機能はスレッドなど。The State of WebAssembly 2021