サーバサイドを含むWordPressのフルスタックをWebAssembly化した「In-Browser WordPress」、WordPressのコア開発チームとGoogle Chromeの開発チームが紹介

今回は「サーバサイドを含むWordPressのフルスタックをWebAssembly化した「In-Browser WordPress」、WordPressのコア開発チームとGoogle Chromeの開発チームが紹介」についてご紹介します。

関連ワード (公開、応用、重要等) についても参考にしながら、ぜひ本記事について議論していってくださいね。

本記事は、Publickey様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。


PHPやSQLiteなどのサーバサイドを含むWordPressのバックエンドをWebAssembly化し、WordPressのフルスタックをWebブラウザ上で実行する「In-Browser WordPress」が、「WordPress Playground」で公開されています。

fig

これは昨年(2022年)9月にWordPressのコア開発チームが開発中であることを明らかにし、今年1月頃にWordPress Playgroundで公開が始まった、サーバサイドを含むWordPressの試験的なフルスタック実装です。

参考:WordPressのコア開発チーム、WordPressをWebブラウザで実行する「Client-side WebAssembly WordPress」を開発中

「WordPress Playground」でアクセスすると、Webブラウザ上で「In-Browser WordPress」が実行されます。

見た目は完全に普通のWordPressですが、PHPとデータベースのSQLiteも含めてWebブラウザ上で実行されているため、外部への公開を気にすることなく自由にWordPressの変更やカスタマイズを試すことができ、画面をリロードすればすぐに初期状態に戻すことができます。

PHPのバージョンとWordPressのバージョンを任意に入れ替える設定も可能になっています。

また、Webブラウザ上で実行されているPHPランタイムはWordPress専用ではなく、あくまで通常のPHPランタイムをWebAssembly化しているため、PHPのアプリケーションを書けばそのまま実行できるとのことです。

このIn-Browser WordPressを紹介するブログ記事「Build in-browser WordPress experiences with WordPress Playground and WebAssembly」をWordPressのコア開発チームとGoogle Chromeの開発チームのメンバーが公開しています。

Build in-browser WordPress experiences with WordPress Playground and WebAssembly!https://t.co/8VORT4VstI

The full(!) WordPress powered by PHP running solely in the browser with WebAssembly. Learn how @adamzielin pulled this off!#WordPress #Wasm #WebAssembly #PHP

— Chrome Developers (@ChromiumDev) April 12, 2023

Webブラウザ上でフルスタックのWordPressが動作する仕組み

PHPランタイムをWebブラウザ上で実行可能にするWebAssembly化においては、単純にC言語で書かれたPHPランタイムをEmScriptenでWebAssembly化しただけではJavaScriptとの連携が容易ではないため、 TypeScriptで記述した「JavaScript PHP class」および、これとやり取りする「dedicated PHP API module」をC言語で記述し、追加してあるとのことです。

さらにWordPressのデフォルトで対応しているMySQLデータベースを、Webブラウザ上で実行可能なWebAssembly版SQLiteに変更するために、PHP側にはSQLiteドライバを追加し、WordPress側には「SQLite Database Integration」プラグインを追加。

これによりWordPressからMySQLに対するクエリをプラグインでSQLiteへのクエリに変換し、PHPのSQLドライバで接続したSQLiteデータベースにアクセスできるようにしています。

参考:SQLiteの正式なWebAssembly版「SQLite3 WASM/JS」が登場

WordPressを動かすうえで最も重要なサーバであるWebサーバについては、Service WorkerがWebサーバに対するすべてのリクエストをインターセプトし、ワーカースレッドでリクエストを処理、レスポンスを返していると説明されています。

将来的にはWebブラウザ上で開発し、サーバへデプロイも

ブログ記事では、Webブラウザ上でWebアプリケーションのフルスタックが実行できるこのような仕組みを応用することで、将来的にはWebブラウザ上で複数の開発者がコラボレーションするようなフルスタックのWebアプリケーション開発が可能になると展望が語られています。

そうなると、開発環境としてのサーバのセットアップも不要で、すぐにWebブラウザ上でWebAssembly化した開発環境をロードして作業を行い、完成したらワンクリックでアプリケーションをサーバ環境へデプロイする、といったこともできるようになるかもしれません。

WordPress PlaygroundのソースコードはGitHubで公開されています。

COMMENTS


Recommended

TITLE
CATEGORY
DATE
CI/CDパイプラインをポータブルにする「Dagger」登場/マイクロソフト、「Windows 365 Boot」発表/JavaScriptの高速フォーマッター「Rome Formatter」ほか、2022年4月の人気記事
編集後記
2022-05-02 16:22
米国株の「逆指値」が可能に–「逆指値・成行売り注文」を活用、守りながら攻める
IT関連
2021-04-13 03:28
アプリコットベンチャーズとTLM、総額30億円を目標とした新ファンド「mint」設立
VC / エンジェル
2021-05-27 07:59
AMD、ゲーミングノート向けGPU「Radeon RX 6000M」シリーズ発表 :COMPUTEX TAIPEI 2021
製品動向
2021-06-02 19:57
Kubernetesベースの開発で面倒なDevOps部分をPaaSとして引き受けるPorter
ソフトウェア
2021-08-02 16:12
つみたてNISAで資産形成–貯めながら増やす世界株式ファンドは?
IT関連
2021-02-05 04:26
セキュリティバグが見つかったZoomの米政府機関使用許可発行に用いられた資料の提供を要求するも、GSAは拒否
セキュリティ
2021-07-27 09:39
次期iPad Pro用ミニLEDバックライトの歩留まり、大幅に改善か
IT関連
2021-04-16 03:28
Cloudflare、サーバレスの「Cloudflare Workers」とJAMスタックの「Cloudflare Pages」を統合へ
Cloudflare
2023-05-19 17:21
請求書受領サービス「Bill One」、経費精算システム「皆伝!ワークフロー」と連携
IT関連
2022-06-11 15:27
Webpackの後継となる新バンドルツール「Turbopack」が登場。Rust製のネイティブアプリケーションでWebpackの700倍高速に。Next.js Conf 2022
JavaScript
2022-10-27 15:41
[速報]Google、目の前に相手が実在するかのような「Project Starline」発表。精細な3Dモデルのリアルタイム伝送と裸眼立体視で、Google I/O 2021
Google
2021-05-19 13:30
ITリーダーの9割は業務部門のローコード開発ツール利用に肯定的
IT関連
2021-07-07 04:03
「Raspberry Pi Zero W」搭載の小型衛星、ミッションを完了
IT関連
2022-06-29 01:58