跳到主要內容

每週專案:WordPress Desktop

·4 分鐘閱讀

本週我們採訪了 Automattic 的人員,討論了 WordPress Desktop,這是一個用於管理 WordPress 內容的開源桌面用戶端。


WordPress Apps

每個人都知道 WordPress,但 WordPress Desktop 是什麼?

WordPress.com 桌面應用程式 提供無縫的跨平台體驗,讓您可以專注於內容和設計,而不會被瀏覽器分頁干擾 — 或讓您的網站保持在側邊欄但可存取的狀態。結合我們的瀏覽器支援和行動應用程式,您可以在任何地方以任何有助於您完成工作的方式建立您的網站。

為什麼要為管理 WordPress 網站建立桌面應用程式?難道不能全部以網路為基礎嗎?

它實際上使用的技術與您在瀏覽器中造訪 WordPress.com 時所獲得的技術完全相同。但是,它全部在本機託管,因此載入時間最短。憑藉停駐列、通知等原生功能的優勢,您可以真正專注於您的 WordPress 網站和部落格。

為什麼您選擇在 Electron 上建置 WordPress Desktop?

在 2015 年底,我們以 Calypso 的形式重建了大部分的 WordPress.com,這是一個使用 React 的開源現代 JavaScript 應用程式。我們開始研究 Electron,並對 Calypso 進行了一些更改,使其能夠在本機執行。這是一個引人入勝的體驗,我們認為進一步開發它具有很大的價值。

我們有多個團隊在 Calypso 上工作。若要使用傳統桌面技術製作一個與此相符的完整多平台 GUI 用戶端,將需要更多的工作。透過使用 Electron,我們一個 2-4 人的小團隊能夠利用其他團隊的努力,在幾個月內建置出桌面應用程式。

在建置 WordPress Desktop 時,您遇到哪些挑戰?

我們很快就讓應用程式的初始版本執行起來,但調整它以使其作為桌面應用程式最佳運作需要更多時間。該應用程式的一個主要挑戰是,您實際上是在自己的機器上執行 Calypso 的副本 - 它純粹是一個 API 驅動的 UI。這其中涉及大量的橋接工作,並且變更會回饋給 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 上取得。

我們還有一個即將推出的 Raspberry Pi 整合,它使用 Electron。

如果以上任何內容聽起來很有趣,那麼我們很樂意收到您的來信

有沒有任何 Electron 技巧可能對其他開發人員有用?

對於我們來說,發布簽署的桌面軟體的過程相對較新,尤其是對於 Windows。我們為 程式碼簽署 Windows 應用程式 撰寫了一篇文章,其中包含該過程以及我們為正確執行此操作而經歷的一些障礙。