跳转到主要内容

本周项目:WordPress Desktop

·阅读时长 4 分钟

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


WordPress Apps

大家都知道 WordPress,但什么是 WordPress Desktop?

WordPress.com Desktop 应用 提供无缝的跨平台体验,让您可以专注于内容和设计,无需浏览器标签页的干扰,也不必将您的站点放在一边但保持可访问状态。结合我们的浏览器支持和移动应用程序,您可以在任何地方、以任何有助于完成工作的方式构建您的站点。

为什么要为管理 WordPress 站点构建桌面应用程序?难道所有功能都可以在网页上实现吗?

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

为什么选择 Electron 构建 WordPress Desktop?

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

我们有几个团队在负责 Calypso。如果使用传统的桌面技术来构建一个与此匹配的完整的跨平台 GUI 客户端,将需要更多的工作。通过使用 Electron,我们 2-4 人的小团队得以利用其他团队的努力,在几个月内就构建了桌面应用程序。

在构建 WordPress Desktop 时,您面临了哪些挑战?

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

此外,我们在为不同平台打包应用程序方面付出了很多努力——我们提供 Windows、macOS 和 Linux 版本——这些差异足以使这项工作变得棘手。

当时 Electron 还相对较新,我们经常遇到一些很快就被修复的问题(有时甚至在当天!)。

Electron 应该在哪些方面得到改进?

Electron 已经提供了我们为桌面应用程序所需的大部分功能,并且自我们开始使用它以来发展迅速。尽管如此,在桌面应用程序中理所当然的一些功能,例如拼写检查和查找/替换,用现成的 Electron 复制起来会更困难。

我们也希望看到一些较新的 Chrome 技术能够集成到 Electron 中。我们尤其热衷于尝试 WebVR。

你最喜欢 Electron 的哪些方面?

我们选择 Electron 的主要原因,也是它最大的优势,是其非常活跃和开放的社区。Automattic 始终信奉开源。这是我们的核心理念之一,而 Electron 项目和社区也遵循着非常开放和积极的许多核心信念。

WordPress Desktop 未来有什么计划?

我们模型的优点在于,桌面应用程序可以受益于任何新的 Calypso 功能——有持续的改进。我们希望能够为应用程序添加更多功能,例如离线支持,这将真正使应用程序进入原生领域,以及更好的系统通知。

Automattic 有其他团队正在使用 Electron 开发应用程序吗?

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

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

如果您对这些内容感兴趣,我们 非常期待收到您的来信

有什么 Electron 小技巧可以帮助其他开发者?

为 Windows 应用程序发布签名软件的过程对我们来说相对较新,尤其是对于 Windows。我们撰写了一篇文章 Code Signing a Windows App,其中包含该过程以及我们正确执行它所经历的几个障碍。