跳到主要内容

每周项目:WordPress 桌面版

·4 分钟阅读

本周,我们与 Automattic 的人员进行了交流,讨论了 WordPress 桌面版,这是一个用于管理 WordPress 内容的开源桌面客户端。


WordPress Apps

每个人都知道 WordPress,但 WordPress 桌面版是什么?

WordPress.com 桌面应用程序提供无缝的跨平台体验,使您可以专注于内容和设计,而无需浏览器选项卡来分散您的注意力,或者让您的站点被搁置但可以访问。结合我们的浏览器支持和移动应用程序,您可以在任何地方以任何方式构建您的站点,以帮助您完成工作。

为什么要构建用于管理 WordPress 站点的桌面应用程序?难道不能全部基于 Web 吗?

它实际上使用与您在浏览器中访问 WordPress.com 时获得的技术完全相同的技术。但是,它全部在本地托管,因此加载时间最短。借助停靠栏、通知等原生功能的优势,您真的可以专注于您的 WordPress 站点和博客。

您为什么选择在 Electron 上构建 WordPress 桌面版?

在 2015 年底,我们以 Calypso 的形式重建了 WordPress.com 的大部分内容,这是一个使用 React 的开源现代 JavaScript 应用程序。我们开始研究 Electron,并且通过对 Calypso 进行一些更改,使其能够在本地运行。这是一种引人注目的体验,我们认为进一步开发它有很多价值。

我们有几个团队在 Calypso 上工作。要使用传统的桌面技术构建一个与此匹配的完整多平台 GUI 客户端,需要做更多的工作。通过使用 Electron,我们 2-4 人的小团队能够利用其他团队的努力,并在几个月内构建桌面应用程序。

在构建 WordPress 桌面版时,您面临哪些挑战?

我们很快就运行了该应用程序的初始版本,但是将其调整为作为桌面应用程序以最佳方式运行花费了更多时间。该应用程序的一个巨大挑战是,您实际上是在您自己的机器上运行 Calypso 的副本 - 它纯粹是一个 API 驱动的 UI。这涉及到很多桥接工作,并且更改被反馈到 Calypso 本身。

此外,我们还花费了大量精力来为不同的平台打包该应用程序 - 我们提供 Windows、macOS 和 Linux 版本 - 并且存在足够的差异来使其变得棘手。

当时 Electron 相对较新,我们不断遇到很快得到修复的问题(有时是同一天!)

在哪些方面应该改进 Electron?

Electron 已经为我们的桌面应用程序提供了我们所需的大部分功能,并且自从我们开始使用它以来,它发展迅速。也就是说,在桌面应用程序中,有些领域是被认为是理所当然的,例如拼写检查和查找/替换,而使用 Electron 很难按原样复制。

我们还希望看到一些较新的 Chrome 技术也过滤到 Electron 中。我们特别热衷于尝试 WebVR。

您最喜欢 Electron 的哪些方面?

我们选择 Electron 的主要原因,也是它最大的优势,是非常活跃和开放的社区。Automattic 一直坚信开源。这是我们的核心原则之一,而 Electron 项目和社区遵循了很多非常开放和积极的核心信念。

WordPress 桌面版的下一步是什么?

我们模型的优点是,桌面应用程序可以从任何新的 Calypso 功能中受益 - 不断进行改进。我们希望可以向该应用程序添加其他功能,例如离线支持,这将真正使该应用程序进入原生领域,并改善系统通知。

Automattic 是否有其他团队在开发 Electron 应用程序?

是的,在我们在桌面应用程序上的努力之后,Simplenote 团队决定使用 Electron 构建 Windows 和 Linux 的桌面应用程序(已经存在一个原生的 Mac 客户端)。 Simplenote Electron 应用程序也是开源的,并且可以在 Github 上找到。

我们还有一个即将推出的使用 Electron 的 Raspberry Pi 集成。

如果这些听起来有意思,那么我们很希望能收到你的消息

关于 Electron,有没有什么技巧可以帮助其他开发者?

发布已签名的桌面软件对我们来说是相对较新的过程,特别是对于 Windows。我们写了一篇关于代码签名 Windows 应用程序的文章,其中包含了这个过程以及我们在正确执行过程中遇到的一些障碍。