Microsoftは、アプリケーションでのHTMLレンダリングに関するプラットフォームの変更を発表しており、RAD Studio VCLのWindowsライブラリには、 MSHTML用のTWebBrowserとWebView2用のTEdgeBrowserコンポーネントが用意されています。
最近では、RAD Studio VCL Windowsアプリケーションなどのネイティブアプリケーションでは、アプリケーション自体にWebコンテンツを埋め込んで表示するニーズがよくあります。 Microsoftは最近、Windowsプラットフォームのこの分野の進化について、いくつかの発表を行いました。
- アプリケーションとしてのInternet Explorerは、Windowsの次期バージョンであるWindows 11では無効化され、利用できません。 ただし、システムから取り除かれているわけではなく、Microsoft Edgeの「Internet Explorer モード」として、あるいは埋め込みコントロール(正式にはMSHTMLですが、IE ActiveXコントロールと表示されることが多い)で引き続き利用できます。 詳しくは、こちらをご覧ください。
- 現在、Windows 10向けに無償ダウンロードされているEdgeブラウザに搭載されているChromiumエンジン(Edge Chromiumと呼ばれることが多い)をラップした新しいWebView2コントロールが、新しいOSバージョンであるWindows 11の一部として搭載されます。
VCLライブラリを使用し、Webコンテンツを表示する必要のあるRAD Studio開発者にとって、これはどのような意味を持つのでしょうか?
- まず、TWebBrowserコンポーネントによるMSHTMLコントロールのラッパーがOSの一部として残っているため、既存のアプリケーションが引き続き動作することが期待できます。
- 但し、IEがWindowsから利用できなくなることで、ほとんどのWebサイトやJavaScriptライブラリは、わずかに残っているIEとの互換性をサポートする必要性がなくなります。このため、IEをサポートする既存のWebサイトがそのまま維持されない限り、古いMSHTMLのレンダリングでは、正常に表示できるWebサイトが今後は減少していくことが予想されます。
- WebView2はWindows 11でも利用可能であり、Windows 10アプリケーションで簡単に配布できるため、TEdgeBrowserコンポーネントでラップされたWebView2コントロールに早く移行すれば、アプリケーションの顧客に優れたWebエクスペリエンスを提供することができます。
最終的には、VCLライブラリは、どちらか一方を選択することを強制するものではありません。10.4のTWebBrowserでは、ターゲットコンピュータで使用可能な場合は「Edge」を使用し、使用できない場合はIEにフォールバックできる拡張機能も提供しています。いつものようにVCLは自由度が高く、Microsoftが新しいプラットフォームの機能をリリースしたらすぐにサポートできるようになっています。
下図は、Embarcadero.comのWebサイトをVCLアプリケーションのTEdgeBrowserでレンダリングした例です。