Automattic赞助的核心贡献者Adam Zielinski今天发布了一个WordPress在浏览器中运行的演示,没有PHP服务器。这是通过WebAssembly(WASM)和Emscripten(WebAssembly的一个开源编译工具链)实现的,WebAssembly是一种基于栈的虚拟机格式,可以在网络上部署客户端和服务器应用程序。它还不稳定,但这个概念很吸引人,因为它开辟了一个潜在用例的世界。
![图片[1]-新原型测试无需PHP服务器在浏览器中运行WordPress-搬主题](https://cdn.banzhuti.com/2022/09/20220924190744894.png)
该项目可以在GitHub上找到,Zielinski简要地解释了它的工作原理。
- PHP用Emscripten编译成WASM
- WordPress被打包成一个数据包
- 一个服务工作者捕获HTTP请求并将其重新路由到WordPress。
该项目使用wp-db-sqlite插件来运行带有SQLite的WordPress,因为WASM不支持MySQL。Zielinski详细介绍了在浏览器中运行WordPress的一些可能的应用,他说这可以 “改变学习、贡献和使用WordPress的方式:”
- 使WordPress手册的代码样本可以运行(早期预览)
- 提供一个浏览器中的IDE来帮助新的贡献者,而不需要建立一个本地开发环境(早期预览)
- 创建一个在不同的WordPress、PHP和Gutenberg版本上测试代码的浏览器IDE
- 通过在边缘服务器上直接启动许多微小的独立WASM实例来扩大WordPress的规模。
- 嵌入插件、模式或主题的演示(例如:www.banzhuti..com)
- 将现有的WordPress网站导入WASM运行时,以创建一个暂存网站。
这些原型还处于非常早期的阶段,现在有一些限制。块状编辑器可以工作,但网站编辑器不行,而且浏览器中的网站不能与WordPress.org通信以获取插件和主题。
Zielinski渴望招募贡献者来帮助建立这个愿景并使其成为现实。这是一项相当艰巨的任务,但贡献者和开发者从能够立即启动WordPress的浏览器IDE的能力中获得的好处是巨大的。
“学习WordPress和编写代码过去是分开的,”Zielinski说,关于使用Stackblitz来创建更多的互动文档。”现在它们可以合二为一。从可运行的代码片段到新的、类似于velte的文档格式,WebContainers + WebAssembly WordPress是一个教育方面的改变。”
关于如何工作的更多技术细节,请查看Zielinski的帖子并点击进入各种演示。这个项目的资源库包括一个预建的演示,任何人都可以运行这个演示,并有更多的说明可以自己构建这个组件。
























暂无评论内容