让开源应用自动更新更简单
今天,我们发布了一个免费、开源、托管的更新网站服务以及配套的npm 包,以方便开源 Electron 应用实现简单的自动更新。这是我们朝着赋能应用开发者,让他们能够减少部署方面的顾虑,而将更多精力投入到开发高质量用户体验方面迈出的一步。
让生活更轻松
Electron 拥有一个autoUpdater API,它允许应用程序从远程端点获取元数据来检查更新、在后台下载更新并自动安装。
对许多 Electron 应用开发者来说,启用这些更新一直是部署过程中的一个繁琐步骤,因为这需要部署和维护一个仅用于提供应用版本历史元数据的 Web 服务器。
今天,我们宣布一项新的即插即用解决方案,用于自动应用更新。如果您的 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 应用拥有一个常青的未来!