為開源應用程式提供更簡易的自動更新
今天,我們發布了一個免費、開源、託管的更新網路服務和配套的npm 套件,讓開源 Electron 應用程式能夠輕鬆進行自動更新。這是朝著授權應用程式開發人員減少對部署的考慮,而更專注於為其使用者開發高品質體驗邁出的一步。
讓生活更輕鬆
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 應用程式的未來永遠欣欣向榮!