В последнее время я был занят созданием и поддержкой настольного клиента Zulip. Было весело и сложно использовать HTML / CSS / JavaScript для создания собственных настольных приложений.

Electron, безусловно, изменил способ создания кроссплатформенных настольных приложений, но это не все радужные и солнечные лучи в мире Electron. Добавление и настройка автоматических обновлений по-прежнему является проблемой для большинства разработчиков.

В этой статье будут рассмотрены две простые части -

  • Настройка сервера релизов / загрузок для автообновления
  • Добавление автообновлений в ваше приложение

Прежде чем перейти к части 1, важно, чтобы вы уже упаковали свое приложение и получили его подписанный, на случай, если вы планируете добавлять автоматические обновления в собственное приложение macOS. Если это не так, вы можете выполнить один шаг, упомянутый в этой статье, чтобы создать установщик.

Часть 1 - Настройка сервера релизов

Чтобы включить автообновление, вам понадобится мультиплатформенный сервер выпуска для распространения приложения. Для этого мы собираемся использовать орехи, который является интеллектуальным сервером выпуска и использует GitHub в качестве бэкэнда.

Развертывание орехов в Herkou -

Шаги, которым нужно следовать -

Часть 2 - Добавление автообновлений в ваш код

Отлично, теперь давайте напишем код для обработки автоматических обновлений.

Приведенный выше код позволит вашему приложению автоматически загружать последнюю версию вашего приложения и будет запрашивать диалоговое окно всякий раз, когда доступно обновление.

Конечно, есть и другие способы реализовать автоматические обновления в вашем приложении, такие как добавление пункта меню, как показано ниже:

Вы не хотите проверять автоматические обновления во время разработки, поэтому вам нужно использовать что-то, чтобы их обнаружить. Я использовал для этой цели electronic-is-dev . Также вам необходимо обработать событие Squirrel.Windows в окнах. Для этого я использовал электрон-белка-запуск. Не забудьте добавить эти два модуля в файл вашего приложения package.json .

Если у вас возникли проблемы с добавлением автоматических обновлений в электронное приложение, не стесняйтесь напишите мне в Твиттере 😎

Если вам понравилась эта статья и вы хотите купить мне кофе ☕️ следуйте этому 👇