ニュース
「WebView2」が.NETに対応 ~Chromiumベースの新Microsoft Edgeをアプリに組み込み
Windows 7以降、.NET Framework/CoreとWin32 C/C++、WinUI 3.0で利用可能
2020年8月20日 11:00
米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から直接アプリケーションオブジェクトにアクセス)など、多くの機能が提供されている。
現在「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”オプションを付けてプレビュー版を導入する必要があるので注意したい。