跳转到主要内容

本周项目:WordPress Desktop

·阅读时长 4 分钟

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


WordPress Apps

大家都知道 WordPress,但什么是 WordPress 桌面版?

WordPress.com 桌面应用 提供无缝的跨平台体验,让您可以专注于内容和设计,无需浏览器标签页分散注意力——或者让您的网站保持待命但可访问。结合我们的浏览器支持和移动应用,您可以随时随地以最适合您完成工作的方式构建您的网站。

为什么要为管理 WordPress 网站构建桌面应用?不能 all 都是基于 Web 的吗?

它实际上使用了您在浏览器中访问 WordPress.com 时所使用的完全相同的技术。然而,它 all 是本地托管的,因此加载时间极短。凭借原生功能(如显示在 Dock 中、通知等)的优势,您可以真正专注于您的 WordPress 网站和博客。

为什么选择使用 Electron 构建 WordPress 桌面版?

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

我们有几个团队在开发 Calypso。使用传统的桌面技术构建一个与此相匹配的完全跨平台的 GUI 客户端将需要更多的工作。通过使用 Electron,我们一个 2-4 人的小团队能够利用其他团队的努力,在几个月内就构建好了桌面应用。

在构建 WordPress 桌面版的过程中,您面临过哪些挑战?

我们很快就获得了应用的初始版本,但将其调整为最佳的桌面应用行为则花费了更多时间。该应用的一个大挑战是,您实际上是在自己的机器上运行 Calypso 的一个副本——它纯粹是一个由 API 驱动的用户界面。这涉及到大量的桥接工作,并且更改被反馈给了 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 应用代码写了一篇文章,其中包含了流程以及我们为正确完成它所经历的一些障碍。