オープンソースアプリの自動更新をより簡単に
本日、オープンソースのElectronアプリの簡単な自動更新を可能にする、無料のオープンソース、ホスト型の更新ウェブサービスとコンパニオンnpmパッケージをリリースします。これは、アプリ開発者がデプロイメントについて考える時間を減らし、ユーザー向けに質の高いエクスペリエンスを開発することに集中できるようにするためのステップです。
生活をより楽に
Electronには、リモートエンドポイントからメタデータを消費して更新を確認し、バックグラウンドでダウンロードして自動的にインストールする機能をアプリに提供するautoUpdater APIがあります。
これらの更新を有効にすることは、アプリのバージョン履歴メタデータを提供するためだけにWebサーバーをデプロイして保守する必要があるため、多くのElectronアプリ開発者にとってデプロイメントプロセスにおける面倒なステップでした。
本日、アプリの自動更新のための新しいドロップインソリューションを発表します。ElectronアプリがパブリックGitHubリポジトリにあり、GitHub Releasesを使用してビルドを公開している場合は、このサービスを使用して、継続的なアプリの更新をユーザーに提供できます。
新しいモジュールの使用
お客様の側の設定を最小限に抑えるために、新しいupdate.electronjs.org Webサービスと統合する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など、多くのオープンソースツールがあります。詳細については、更新サーバーのデプロイチュートリアルを参照してください。
感謝
このシンプルでスケーラブルなWebサービスの設計と構築にご協力いただいたJulian Gruberに感謝します。設計のインスピレーションを得たオープンソースのHazelサービスを提供してくれたZeitの皆さんに感謝します。コードレビューをしてくれたSamuel Attardに感謝します。このサービスのテストにご協力いただいたElectronコミュニティに感謝します。
🌲 Electronアプリのエバーグリーンな未来に乾杯!