Automattic 赞助的核心贡献者 Adam Zielinski 今天发布了 WordPress 在没有 PHP 服务器的情况下在浏览器中运行的演示。这是使用 WebAssembly (WASM) 和 Authorize 完成的,WebAssembly 是一种基于堆栈的虚拟机格式,可以在 Web 上部署客户端和服务器应用程序,Authorize 是 WebAssembly 的开源编译器工具链。它还不稳定,但这个概念很有趣,因为它打开了一个充满潜在用例的世界。

图片来源:wordpress-wasm repo demo

该项目在 GitHub 上可用 Zielinski 简要说明其工作原理:

  • PHP 被编译成 WASM 授权
  • WordPress 被打包成一个 Packets
  • 服务工作者捕获 HTTP 请求并将它们重新路由到 WordPress

该项目使用 wp-db-sqlite 来运行使用 SQLite 的 WordPress 插件,因为 WASM MySQL 不受支持。

Zielinski 详细介绍了在浏览器中运行 WordPress 的一些可能的应用程序,他说这可以“转变学习、贡献和使用 WordPress”:

  • 制作 WordPress 手册代码Samples Runnable(早期预览)
  • 提供浏览器内 IDE 以帮助新贡献者,而无需设置本地开发环境(早期预览)
  • 创建一个浏览器内 IDE 用于测试代码在不同的 WordPress、PHP 和 Gutenberg 版本上
  • 通过直接在边缘服务器上启动许多小型独立 WASM 实例来扩展 WordPress。
  • 嵌入插件、模式或主题的演示(例如:wpreadme.com)
  • 将现有的 WordPress 站点导入 WASM 运行时以创建暂存站点

原型处于非常早期的阶段,目前有一些限制。块编辑器工作,但站点编辑器不工作,并且浏览器中的站点无法与 WordPress.org 通信以获取插件和主题。

Zielinski 渴望招募贡献者来帮助建立这一愿景并将其变为现实。这是一项艰巨的任务,但贡献者和开发人员从能够立即启动适用于 WordPress 的浏览器内 IDE 中获得的好处是巨大的。

“学习 WordPress 和编写代码过去是分开的,”Zielinski 在谈到使用 Stackblitz 创建更具交互性的文档时说。 “现在它们可以是同一件事。从可运行的代码片段到新的、类似 svelte 的文档格式,Web 容器 + WebAssembly WordPress 是一个教育游戏规则的改变者。”

关于它了解更多技术细节它有效,请查看 Zielinski 的帖子并单击以查看各种演示。该存储库自项目以来包含一个预构建的演示,供任何人使用更多说明自行构建程序集。

资源

[et_bloom_inline optin_id=”optin_5″]