PHPとSQLiteをWebAssembly化し、Webブラウザ上でWordPressを実行可能にしたデモをVMwareが公開

VMwareのWasm Labsは、Webブラウザ上でWordPressを実行可能にしたデモを公開しました

デモページをWebブラウザで開くと、実際にWebブラウザ上でWordPressが実行されます。

fig

WordPressはオープンソースで開発されている代表的なCMSです。PHPで開発されています。バックエンドデータベースとしてMySQLが使われることが一般的ですが、今回のデモではSQLiteが使われています。

今回のデモを公開したVMwareのWasm Labsは、C言語をWebAssemblyバイナリにコンパイルできるEmScriptenコンパイラを用いて、PHPとSQLiteのコンパイルを行っています。

さらにメモリ上にファイルシステムを構築し、Service Workerをプロキシとするなど追加でWordPressを実行可能な環境を作り上げ、デモを作成したとのことです。

WebAssemblyによってソフトウェア開発にさらなる革新が

Publickeyでは先日、PostgreSQLをWebAssembly化してWebブラウザ上で実行する「Postgres playground」も紹介したばかりです。

参考:WebAssembly化したPostgreSQLをWebブラウザ上で実際に動かして学ぶ「Postgres playground」をCrunchy Dataが公開

WebAssemblyによって、これまでサーバなどで実行されてきたソフトウェアが次々にWebブラウザ上で実行可能になってきています。

これまでソフトウェアをポータブルにしてさまざまな環境で実行する仕組みは、主に仮想化ハイパーバイザやDockerコンテナによって行われてきました。

しかしソフトウェアをWebAssemblyバイナリへコンパイルすることによって仮想化技術を使わなくとも、CPUアーキテクチャやOSを超えて、Webブラウザを含むさまざまな環境で実行可能になるポータビリティと、外部から実行環境を隔離することが同様に実現できることがどんどん実例として登場してきています。

Dockerコンテナの登場がソフトウェアの開発やテストを変えてきたように、WebAssemblyの実用化が進むにつれて、ソフトウェアの開発プロセスやスタイルにはこれからまた大きな変革が起きてくるのではないでしょうか。