ニュース

「WebView2」が.NETに対応 ~Chromiumベースの新Microsoft Edgeをアプリに組み込み

Windows 7以降、.NET Framework/CoreとWin32 C/C++、WinUI 3.0で利用可能

「Chromium」ベースの新しい「Microsoft Edge」をデスクトップアプリに組み込み、「Blink」「V8」エンジンでWebコンテンツ(HTML/CSS/JavaScript)をレンダリング

 米Microsoftは8月19日(現地時間)、.NETアプリケーション向けの「WebView2」コントロールのプレビューリリースを発表。「Chromium」ベースの新しい「Microsoft Edge」をデスクトップアプリに組み込み、「Blink」「V8」エンジンでWebコンテンツ(HTML/CSS/JavaScript)をレンダリングできるようになる。

 同社は古くから「Internet Explorer」をベースとした「WebBrowser」コントロールを提供し、デスクトップアプリでWebコンテンツをホストできるようにしていたが、Webのモダン化に追従できないとして、後継の「WebView」を新たに開発した。しかし、この「WebView」コントロールは「EdgeHTML」の「Microsoft Edge」をベースにしており、Windows 10でしか利用できない。さらには「EdgeHTML」ベースの「Microsoft Edge」そのものが「Chromium」ベースの「Microsoft Edge」にとってかわられてしまい、これ以上の機能更新が期待できなくなってしまった。

 そこで昨年の“Build 2019”カンファレンスで発表されたのが、「Chromium」ベースの新しい「Microsoft Edge」に基づく「WebView2」コントロールだ。当初はWindows 10上のWin32 C++開発でしか利用できなかったが、その後も定期的にアップデートされ(基本的に6週間おき)、今年5月には.NETとUWP(WinUI 3.0)のサポートが発表されていた。今ではナビゲーション、Webメッセージング(アプリケーションと「WebView2」コントロール間の通信)、ネイティブオブジェクトインジェクション(JavaScriptから直接アプリケーションオブジェクトにアクセス)など、多くの機能が提供されている。

デスクトップ版「Outlook」にWebコンテンツを組み込んだ例。アプリと「WebView2」の間で通信することも可能

 現在「WebView2」がサポートされている開発プラットフォームは以下の通り。WPFやWindows Formsといったお馴染みのUIフレームワークでも利用できる。

  • Win32 C/C++
  • .NET Framework 4.6.2以降
  • .NET Core 3.0以降
  • WinUI 3.0

 対応OSも拡充されており、Windows 8.x/7などの古いOSでも利用できるようになっている。

  • Windows 10
  • Windows 8.1
  • Windows 8
  • Windows 7
  • Windows Server 2016
  • Windows Server 2012
  • Windows Server 2012 R2
  • Windows Server 2008 R2

 実際に開発アプリケーションへ「WebView2」コントロールを組み込むには、「NuGet」パッケージ(Microsoft.Web.WebView2)を利用する。ただし、“-prerelease”オプションを付けてプレビュー版を導入する必要があるので注意したい。