WebView2を使用してWindowsアプリにWebインターフェイスを埋め込む
Microsoft Edge WebView2は、Microsoft Corporationによる開発者コントロールで、ネイティブWindowsアプリケーションにウェブインターフェースを埋め込んでハイブリッドUIを可能にします。ホストプロセス内でHTML、CSS、JavaScriptを表示し、ホストとウェブコンテンツがメッセージを交換できるようにします。配布の選択肢には、自動ランタイム更新または互換性制御のための固定バージョンのデプロイがあります。このツールは、ネイティブWin32または.NETワークフロー内でウェブ資産を再利用したいWindowsデスクトップ開発者を対象としています。
ランタイムはMicrosoft Edge (Chromium)エンジンを使用し、別々のプロセスとして実行されます
コントロールはMicrosoft Edgeブラウザーとは別のChromiumベースのランタイムを実行し、Microsoft Edge (Chromium)レンダリングエンジンを使用して最新のウェブコンテンツをレンダリングします。 msedgewebview2.exeプロセスはWebView2ランタイムを表し、コントロールは通常、マネージャープロセス、GPUプロセス、およびウェブコンポーネント用の個別のレンダラープロセスを含むマルチプロセスアーキテクチャに従います。このプロセスの分離はChromiumのアイソレーションモデルに対応しています。
コントロールが統合される開発スタックとワークフロー
WebView2はデスクトップ開発スタックをターゲットにし、ネイティブツールチェーンと統合します。サポートされているホストとフレームワークには:
- Win32 C/C++
- .NET (WPFおよびWinForms)
- WinUI
チームが計画すべきパフォーマンスとデプロイのトレードオフ
ユーザーがサードパーティアプリケーション内のmsedgewebview2.exeインスタンスに関連する高いメモリおよびCPU使用率を報告することがあるため、開発者は重いウェブモジュールのプロファイリングとアイソレーションを計画する必要があります。レンダラープロセスのプロファイリングとリソース集約型ウィジェットを別のWebViewインスタンスに配置することで競合を減らします。ランタイムは完全なブラウザーとは異なるコンポーネントであるため、これを削除すると依存アプリケーションがUIをレンダリングできなくなる可能性があります。テストとロールアウト中はランタイムをデプロイ可能なアーティファクトとして扱ってください。
WebView2はハイブリッドWindowsデスクトップ開発に実用的な選択肢です
WebView2は、ネイティブプロセス内にウェブ駆動のインターフェースを埋め込む必要があるWindowsデスクトップ開発者にとって実用的なオプションです。msedgewebview2.exeインスタンスは、いくつかの展開でメモリとCPUの使用量を増加させる可能性があるため、トレードオフを期待してください。レンダラープロファイリングと運用監視のためのテストを予算に組み込むチームは、ハイブリッドUI戦略を本番デスクトップアプリケーションに展開する際に、コントロールから最も恩恵を受けるでしょう。





