オープンソースアプリの自動更新が簡単に
本日、無料でオープンソースのホスト型 更新ウェブサービス と連携 npm パッケージ をリリースし、オープンソース Electron アプリの自動更新を簡単にできるようにします。 これにより、アプリ開発者がデプロイについて頭を悩ませずに済み、ユーザーへの高品質なエクスペリエンス開発について集中できます。
簡単に新しく
Electron には autoUpdater API があります。これはバックグラウンドで外部エンドポイントからメタデータを取得して、アプリのアップデートを確認し、自動的にインストールします。
こういった更新の有効化は、多くの Electron アプリ開発者にとってデプロイプロセスでの面倒な手順でした。アプリのバージョン履歴メタデータを提供するためだけに、ウェブサーバーを展開して維持する必要があるからです。
本日、アプリ自動更新の新しいドロップインソリューションを発表します。 Electron アプリが公開 GitHub リポジトリにあり、GitHub Releases を使用してビルドを公開している場合、このサービスでアプリの継続的なアップデートをユーザーに頒布できます。
新モジュールの使い方
最小限の構成にするため、新しい update.electronjs.org ウェブサービスと統合する npm モジュール update-electron-app を作成しました。
モジュールのインストール
npm install update-electron-app
アプリの メインプロセス 内のどこかで、以下を呼び出します。
require('update-electron-app')();
これだけです! このモジュールはアプリの起動時に更新を確認し、その後 10 分ごとにも確認します。 更新があれば、バックグラウンドで自動的にダウンロードされ、更新準備が整うとダイアログが表示されます。
既存アプリの移行
既に Electron の autoUpdater API を使用しているアプリもこのサービスを使用できます。 移行するには、update-electron-app
モジュールをカスタマイズするか、update.electronjs.org と直接統合 します。
代替手段
electron-builder でアプリをパッケージ化している場合、その組み込みアップデーターを使用できます。 詳細は、electron.build/auto-update を参照してください。
アプリが非公開の場合、独自の更新サーバーを実行する必要があります。 これには、Zeit の Hazel や Atlassian の Nucleus など、多くのオープンソースツールがあります。 さらなる情報は 更新サーバーのデプロイ のチュートリアルをご参照ください。
謝辞
このシンプルでスケーラブルなウェブサービスの設計と構築を支援して頂いた Julian Gruber に感謝します。 オープンソースの Hazel サービスを作った Zeit の方々に感謝します。このサービスからデザインのインスピレーションを得ました。 コードレビューをして下さった Samuel Attard に感謝します。 このサービスのテストを支援していただいた Electron コミュニティに感謝します。
🌲 Electron アプリの未来はここに永遠の緑となった!