Chromeはウェブを引き継ぐだけでなく、ネイティブアプリも引き継ぎました。 Windows、Mac、さらにはLinuxで実行するアプリケーションの多くは、古いもので構成されています。 クロム 、GoogleChromeの基盤を形成するエンジン。
どのアプリがクロムから構築されていますか?
開発者がChromiumブラウザエンジンを使用してアプリケーションを構築する方法はいくつかあります。 電子は最もよく知られています 、しかし他の多くのアプリケーションはCEF、Chromium EmbeddedFrameworkと呼ばれるものを使用しています。
オンラインチャット? Slackは、Electronで構築された人気のあるアプリケーションです。メモを取る? EvernoteはCEFを使用し、TrelloはElectronを使用します。音楽を演奏?はい、ご想像のとおり、SpotifyはCEFを使用しており、AmazonMusicも同様です。
結局のところ、MicrosoftはWindowsを作成したので、MicrosoftはChromiumを敬遠すると思うかもしれません。あなたは間違っているでしょう。 GitHubデスクトップ、Microsoft Teams、Skype、Visual Studio Code、YammerはすべてElectronアプリです。 Windows 10用の新しいXboxアプリでさえ、Microsoft独自のUWP(Universal Windows Platform)ではなく、Electronで構築されています。
PCゲームは主にネイティブアプリに固執しますが、そのランチャーと関連するチャットツールは確かにそうではありません。 DiscordとTwitch.tvはElectronを使用しています。 Battle.net、Desura、Epic Games Launcher、GOG Galaxy、Uplay、さらにはSteamもすべてCEFを使用しています。 EAのOriginクライアントは Qt WebEngine 、Chromiumコードも統合します。
の非常に不完全なリストをざっと読むことで、Chromiumを使用しているアプリケーションの数を知ることができます。 電子 そして CEFアプリ ウィキペディアで。 CrashPlanなどのバックアップアプリ、Bitwardenなどのパスワードマネージャー、Adobe CreativeCloudなどのユーティリティが含まれています。
関連: Electronアプリとは何ですか?なぜそれらがそれほど一般的になったのですか?
Webアプリのようなものです(ただし、より多くのRAMとストレージを使用します)
各ElectronまたはCEFベースのアプリケーションは、Chromiumの一部の個別のコピーをバンドルします。 ElectronとCEFを使用するアプリケーションは、WebブラウザのWebアプリに似ていますが、効率が低く、システムでより多くのメモリを使用します。
Gmailを1つのChromeタブで開き、Facebookを別のタブで開くと、オペレーティングシステムで実行する必要があるのはChromeのコピーを1つだけです。ただし、2つの異なるElectronまたはCEFアプリケーションを実行する場合、オペレーティングシステムにはそれぞれにElectronまたはCEFの個別のコピーが必要です。
特に、Electronベースのアプリケーションが驚くほどの量のRAMを消費するのを見るのは珍しいことではありません。繰り返しますが、これらの各アプリケーションには個別のChromiumファイルが含まれているため、システム上で追加のスペースを使用します。
なぜ彼らは時代遅れであり、それは問題ですか?
Electronのセキュリティドキュメント 古いバージョンのChromiumに基づいてコードを作成する理由を説明します。
「ElectronはChromiumの新しいバージョンをできるだけ早くサポートするよう努めていますが、開発者はアップグレードが深刻な作業であり、数十または数百ものファイルを手動で編集する必要があることを認識しておく必要があります。今日利用可能なリソースと貢献を考えると、ElectronはChromiumの最新バージョンを使用していないことが多く、数週間または数か月遅れています。」
Electronプロジェクトがその新しいバージョンを作成した後でも、Electronアプリケーションを構築する開発者は、そのコードを取得して、Electronアプリケーションに統合し、更新を送信する必要があります。
ただし、これは思ったほど怖くはありません。 Electronのドキュメントは、信頼できないコードの表示を避け、主にローカルリソースまたは信頼できる安全なリモートコンテンツに依存するように開発者にアドバイスしています。そのため、多くのElectronアプリケーションはWebブラウザではないように見えます。たとえば、SlackはWebテクノロジーを使用してチャットインターフェイスを提供しますが、リンクをクリックするとすぐにWebブラウザーにアクセスします。
開発者がクロムを使用するのはなぜですか?
開発者は、ほとんどの人がすでに使い慣れているWebテクノロジを使用しているため、これらのソリューションを気に入っています。エレクトロンが誇らしげにそのことを宣伝しているように ホームページ 、「ウェブサイトを構築できれば、デスクトップアプリを構築できます。」
ただし、これらは単純なWebアプリよりも強力です。 Electronアプリケーションは、ファイルシステムやその他のローカルシステムリソースにアクセスできます。多くのCEFアプリは、Chromiumブラウザーを組み込んだネイティブアプリケーションです。たとえば、Steamには、ストアとコミュニティのインターフェースを表示するブラウザーが組み込まれています。
Electronアプリも、Chromiumのようにクロスプラットフォームです。 Slackのようなアプリケーションは、Windows、Mac、Linux、およびWebで実行できます。開発者は、MicrosoftEdgeまたはAppleSafariテクノロジーに依存している場合、クロスプラットフォームアプリを作成できませんでした。開発者は、アプリケーションを一度作成して、どこでも実行したいと考えています。これにより、すべてのプラットフォーム用のネイティブアプリケーションを作成するよりも、多くの時間とリソースを節約できます。
これらのChromiumベースのソリューションは、多くの点で以前のものよりも改善されています。 CEFを採用する前は、SteamはInternetExplorerを組み込んでいました。 Windows上の多くのアプリケーションも、単にInternetExplorerインターフェイスを組み込んでいます。Chromiumを使用した方がはるかに優れています。
PWAは抜け道を提供する可能性があります
Electron、CEF、および同様のテクノロジーには多くの利点がありますが、いくつかの欠点もあります。 プログレッシブウェブアプリ (PWA)は、最新のWebアプリにオフラインで作業する方法を提供するため、いつの日か解決策を提供する可能性があります。ただし、ElectronやCEFとは異なり、PWAは標準のWebブラウザをバックグラウンドで使用します。あなたもすることができます Webブラウザからインストールしてください —Chromiumコードを手動で更新してバンドルする必要はありません。
マイクロソフトが EdgeブラウザのChromiumベースのバージョン 、PWAがElectronとの競争に成功したかどうかを確認するのは興味深いことです。これは間違いなく、メモリ使用量が少なく、よりクリーンなソリューションになるでしょう。
関連: プログレッシブウェブアプリとは何ですか?