开源应用程序更轻松的自动更新
今天,我们发布了一个免费的开源托管的 更新网络服务 以及配套的 npm 包,以便为开源 Electron 应用程序实现轻松的自动更新。这是让应用程序开发人员更少关注部署,更多关注为用户开发高质量体验的一步。
简化生活
Electron 具有一个 autoUpdater API,它使应用程序能够从远程端点获取元数据以检查更新,在后台下载更新,并自动安装更新。
对许多 Electron 应用程序开发人员来说,启用这些更新是部署过程中的一个繁琐步骤,因为它需要部署和维护一个网络服务器,仅仅是为了提供应用程序版本历史元数据。
今天,我们宣布了一个新的自动应用程序更新即插即用解决方案。如果您的 Electron 应用程序位于公共 GitHub 存储库中,并且您正在使用 GitHub Releases 发布构建,那么您可以使用此服务将持续的应用程序更新交付给您的用户。
使用新模块
为了最大限度地减少您需要进行的配置,我们创建了 update-electron-app,这是一个与新的 update.electronjs.org 网络服务集成的 npm 模块。
安装模块
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 应用程序有一个常青的未来!