Простое автообновление приложений с открытым исходным кодом
Сегодня мы выпускаем бесплатный хостинг с открытым исходным кодом веб-службу обновлений и сопутствующий пакет npm чтобы обеспечить простые автоматические обновления для приложений Electron с открытым исходным кодом. Это шаг к тому, чтобы разработчики приложений меньше думали о развертывании, и больше - о создании высококачественного опыта для своих пользователей.
Делаем жизнь проще
В Electron есть API autoUpdater, который дает приложениям возможность использовать метаданные из удалённой конечной точки, чтобы проверять наличие обновлений, скачивать их в фоновом режиме и автоматически устанавливать их.
Enabling these updates has been a cumbersome step in the deployment process for many Electron app developers because it requires a web server to be deployed and maintained just to serve app version history metadata.
Сегодня мы анонсируем новое решение для автоматического обновления приложений. Если ваше приложение Electron находится в публичном репозитории GitHub и вы используете GitHub Releases для публикации сборок, вы можете использовать этот сервис для непрерывной доставки обновлений приложения своим пользователям.
Использование нового модуля
Чтобы свести к минимуму настройки с вашей стороны, мы создали update-electron-app, модуль npm, который интегрируется с новым веб-сервисом update.electronjs.org.
Установить модуль:
npm install update-electron-app
Вызовите его из любого места в главном процессе вашего приложения:
require('update-electron-app')();
Вот и всё! Модуль будет проверять наличие обновлений при запуске приложения, а затем каждые десять минут. При обнаружении обновления, оно будет скачано автоматически в фоновом режиме, когда обновление завершится, появится диалоговое окно.
Перенос существующих приложений
Приложения, уже использующие autoUpdater API Electron, также могут использовать эту службу. Для этого вы можете настроить модуль update-electron-app
или интегрировать его напрямую с update.electronjs.org.
Альтернативы
Если вы используете electron-builder для упаковки своего приложения, то можно использовать его встроенный инструмент обновления. Подробности смотрите в electron.build/auto-update.
Если ваше приложение является приватным, то может потребоваться запустить собственный сервер обновлений. Для этого существует ряд инструментов с открытым исходным кодом, в том числе Hazel компании Zeit и Nucleus компании Atlassian. Дополнительные сведения смотрите в руководстве Развертывание сервера обновлений.
Thanks
Благодарим Julian Gruber за помощь в разработке и создании этого простого и масштабируемого веб-сервиса. Благодарим ребят из Zeit за сервис Hazel с открытым исходным кодом, из которого мы черпали вдохновение для дизайна. Благодарим Samuel Attard за рецензии кода. Благодарим сообщество Electron за помощь в тестировании этого сервиса.
🌲 За вечнозеленое будущее приложений Electron!