跳至主要內容

為開源應用程式提供更簡易的自動更新

·閱讀時間 3 分鐘

今天,我們發布了一個免費、開源、託管的更新網路服務和配套的npm 套件,讓開源 Electron 應用程式能夠輕鬆進行自動更新。這是朝著授權應用程式開發人員減少對部署的考慮,而更專注於為其使用者開發高品質體驗邁出的一步。


The new updater module in action

讓生活更輕鬆

Electron 有一個 autoUpdater API,讓應用程式能夠從遠端端點使用中繼資料來檢查更新、在背景下載更新,並自動安裝它們。

對於許多 Electron 應用程式開發人員來說,啟用這些更新一直是部署過程中繁瑣的步驟,因為它需要部署和維護一個網路伺服器,才能提供應用程式版本歷史記錄中繼資料。

今天,我們宣布了一個用於自動應用程式更新的全新隨插即用解決方案。如果您的 Electron 應用程式位於公開的 GitHub 儲存庫中,並且您正在使用 GitHub 發布版本來發布建置版本,您可以使用此服務向您的使用者提供持續的應用程式更新。

使用新模組

為了最大限度地減少您這一方的設定,我們建立了一個 update-electron-app npm 模組,該模組與新的 update.electronjs.org 網路服務整合。

安裝模組

npm install update-electron-app

從應用程式的主要程序中的任何位置呼叫它

require('update-electron-app')();

就是這樣!該模組將在應用程式啟動時檢查更新,然後每十分鐘檢查一次。找到更新後,它會在背景中自動下載,並且在更新準備就緒時會顯示一個對話方塊。

遷移現有的應用程式

已經在使用 Electron autoUpdater API 的應用程式也可以使用此服務。若要這樣做,您可以自訂 update-electron-app 模組,或直接與 update.electronjs.org 整合

替代方案

如果您正在使用 electron-builder 來封裝您的應用程式,您可以使用其內建的更新程式。如需詳細資訊,請參閱 electron.build/auto-update

如果您的應用程式是私有的,您可能需要執行您自己的更新伺服器。有許多開源工具可以執行此操作,包括 Zeit 的 Hazel 和 Atlassian 的 Nucleus。如需更多資訊,請參閱部署更新伺服器教學課程。

感謝

感謝 Julian Gruber 協助設計和建置這個簡單且可擴展的網路服務。感謝 Zeit 的人員提供他們的開源 Hazel 服務,我們從中汲取了設計靈感。感謝 Samuel Attard 提供程式碼審查。感謝 Electron 社群協助測試此服務。

🌲 祝 Electron 應用程式的未來永遠欣欣向榮!