更容易為開源應用程式自動更新
今天我們發布了一個免費、開源、託管的 更新網路服務 和配套的 npm 套件,以便為開源 Electron 應用程式啟用簡易的自動更新。這是朝著賦予應用程式開發人員更多能力,讓他們減少考慮部署,而將更多精力放在為使用者開發高品質體驗上邁出的一步。
讓生活更輕鬆
Electron 有一個 autoUpdater API,讓應用程式能夠從遠端端點取用元數據,以檢查更新、在背景下載更新並自動安裝。
對於許多 Electron 應用程式開發人員來說,啟用這些更新一直是部署過程中繁瑣的步驟,因為它需要部署和維護一個網路伺服器,僅僅為了提供應用程式版本歷史記錄元數據。
今天,我們宣布推出一個新的隨插即用解決方案,用於自動應用程式更新。如果您的 Electron 應用程式位於公共 GitHub 儲存庫中,並且您使用 GitHub Releases 發布建置版本,則可以使用此服務向您的使用者交付持續的應用程式更新。
使用新模組
為了盡可能減少您的配置,我們建立了一個 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 應用程式的常青未來乾杯!