本周项目:WordPress 桌面版
本周,我们与 Automattic 的人进行了交流,讨论了 WordPress 桌面版,这是一个用于管理 WordPress 内容的开源桌面客户端。
每个人都知道 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 上获取。
我们还有一个即将推出的 Raspberry Pi 集成,它也使用了 Electron。
如果这些听起来让你感兴趣,我们很乐意收到你的消息!
有什么 Electron 技巧可能对其他开发者有用吗?
发布签名的桌面软件对我们来说是相对较新的过程,特别是对于 Windows。我们写了一篇文章,关于代码签名 Windows 应用,其中包括了流程以及我们为了正确完成它而经历的一些障碍。