メインコンテンツへ飛ぶ

オープンソースアプリの自動更新が簡単に

· 読むのにかかる時間 1 分

本日、無料でオープンソースのホスト型 更新ウェブサービス と連携 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 アプリの未来はここに永遠の緑となった!