Automattic 赞助的核心贡献者 Adam Zielinski 今天发布了一个演示 在浏览器中运行的 WordPress 没有 PHP 服务器。 这是使用完成的 WebAssembly (WASM),一种基于堆栈的虚拟机格式,可以在 Web 上部署客户端和服务器应用程序,以及 授权,WebAssembly 的开源编译器工具链。 它还不稳定,但这个概念很有趣,因为它打开了一个潜在用例的世界。
图片来源:demo from wordpress-wasm 回购
该项目是 可在 GitHub 上获得 Zielinski 简要解释了它的工作原理:
- PHP 被编译成 WASM 授权
- WordPress 被打包成一个数据包
- 服务工作者捕获 HTTP 请求并将它们重新路由到 WordPress
该项目使用 wp-db-sqlite 使用 SQLite 运行 WordPress 的插件,因为 WASM 不支持 MySQL。
Zielinski 详细介绍了一些在浏览器中运行 WordPress 的可能应用程序,他说这些应用程序可以“改变学习、贡献和使用 WordPress”:
- 使 WordPress 手册代码示例可运行(提前预览)
- 提供一个浏览器内的 IDE 来帮助新的贡献者,而无需设置本地开发环境(提前预览)
- 创建一个浏览器内 IDE,用于在不同的 WordPress、PHP 和 Gutenberg 版本上测试代码
- 通过直接在边缘服务器上启动许多小型独立 WASM 实例来扩展 WordPress。
- 嵌入插件、模式或主题的演示(例如: wpreadme.com)
- 将现有的 WordPress 网站导入 WASM 运行时以创建临时网站
原型处于非常早期的阶段,目前有一些限制。 块编辑器有效,但站点编辑器无效,并且浏览器中的站点无法与 WordPress.org 通信以获取插件和主题。
Zielinski 渴望招募贡献者来帮助建立这一愿景并将其变为现实。 这是一项艰巨的任务,但贡献者和开发人员从能够立即为 WordPress 启动浏览器内 IDE 中获得的好处是巨大的。
“过去学习 WordPress 和编写代码是分开的,”Zielinski 谈到使用 Stackblitz 创建更具交互性的文档时说。 “现在它们可以是一回事了。 从可运行的代码片段到新的、类似 svelte 的文档格式, 网络容器 + WebAssembly WordPress 是一个教育游戏规则的改变者。”
有关其工作原理的更多技术细节,请查看 Zielinski 的 邮政 并点击进入各种演示。 这 存储库 因为该项目包括一个预构建的演示,任何人都可以使用更多说明自行构建程序集。
[et_bloom_inline optin_id=”optin_5″]