В последнее время я был занят созданием и поддержкой настольного клиента Zulip. Было весело и сложно использовать HTML / CSS / JavaScript для создания собственных настольных приложений.
Electron, безусловно, изменил способ создания кроссплатформенных настольных приложений, но это не все радужные и солнечные лучи в мире Electron. Добавление и настройка автоматических обновлений по-прежнему является проблемой для большинства разработчиков.
В этой статье будут рассмотрены две простые части -
- Настройка сервера релизов / загрузок для автообновления
- Добавление автообновлений в ваше приложение
Прежде чем перейти к части 1, важно, чтобы вы уже упаковали свое приложение и получили его подписанный, на случай, если вы планируете добавлять автоматические обновления в собственное приложение macOS. Если это не так, вы можете выполнить один шаг, упомянутый в этой статье, чтобы создать установщик.
Часть 1 - Настройка сервера релизов
Чтобы включить автообновление, вам понадобится мультиплатформенный сервер выпуска для распространения приложения. Для этого мы собираемся использовать орехи, который является интеллектуальным сервером выпуска и использует GitHub в качестве бэкэнда.
Развертывание орехов в Herkou -
Шаги, которым нужно следовать -
- Нажмите кнопку Развернуть на героку на https://github.com/GitbookIO/nuts.
- Установите необходимые переменные env.
- Развертывать!!
- Запишите URL-адрес. Это будет что-то вроде: http://yourappname.herokuapp.com
Часть 2 - Добавление автообновлений в ваш код
Отлично, теперь давайте напишем код для обработки автоматических обновлений.
Приведенный выше код позволит вашему приложению автоматически загружать последнюю версию вашего приложения и будет запрашивать диалоговое окно всякий раз, когда доступно обновление.
Конечно, есть и другие способы реализовать автоматические обновления в вашем приложении, такие как добавление пункта меню, как показано ниже:
Вы не хотите проверять автоматические обновления во время разработки, поэтому вам нужно использовать что-то, чтобы их обнаружить. Я использовал для этой цели electronic-is-dev . Также вам необходимо обработать событие Squirrel.Windows в окнах. Для этого я использовал электрон-белка-запуск. Не забудьте добавить эти два модуля в файл вашего приложения package.json .
Если у вас возникли проблемы с добавлением автоматических обновлений в электронное приложение, не стесняйтесь напишите мне в Твиттере 😎
Если вам понравилась эта статья и вы хотите купить мне кофе ☕️ следуйте этому 👇