EdgeHTML

EdgeHTMLとはMicrosoft Edge向けにマイクロソフトが開発していたプロプライエタリレンダリングエンジンである。EdgeHTMLはInternet ExplorerのレンダリングエンジンであるTridentからフォークし、レガシーな機能を削除しWeb標準を重視し他の最新ブラウザとの互換性が確保されている。。EdgeHTMLはWindows 10 Technical PreviewのBuild 9879のInternet Explorer 11に実験的に搭載され初めてリリースされた。

1. Windowsでの使われ方
----------------

EdgeHTMLは、ソフトウェア開発者がアプリケーションにウェブブラウズ機能を簡単に追加できるようにソフトウェアコンポーネントとして設計されている。COMインタフェースによるC++や、.NETから使用することができる。C++や.NETでウェブブラウザコントロールを使用した場合、EdgeHTMLを通して表示しているウェブページの要素値を取得、ウェブページで発生したイベントを捕捉することができる。また、ウェブブラウザコントロール自身から発生したイベントについても捕捉することができる。 またWindows Bridge for Web アプリによって作成されたアプリケーションをレンダリングする為にも使用されている。

2021年3月9日、 Chromiumベースではないレガシー版Edgeがサポート終了するが、Edgehtml.dllやChakra.dllといったEdgeHTMLのコアコンポーネント自体は、ソフトウェアの互換性維持のために継続してサポートされる。

2. リリース履歴
---------



2.1. EdgeHTML 12
----------------

2014年11月12日にWindows 10 Technical Preview build 9879の一部としてInternet Explorer 11のレンダリングエンジンとしてEdgeHTML 12は搭載された。マイクロソフトは当初、互換性の為にInternet Explorer 11で使用されていたTrident 7の新たな機能をEdgeHTMLに搭載し、新たなInternet Explorerと//Project Spartan//の両方に使用する予定だった。ただし、最終的にマイクロソフトはEdgeHTMLはMicrosoft Edgeにのみ使用し、Windows 10にはWindows 8.1と同じInternet Explorer 11を搭載することとした。EdgeHTMLはTridentをベースにレガシーな機能の削除、および、パフォーマンス改善が行われ、Edgeは他の最新ブラウザと同等の機能やパフォーマンスとなった。EdgeHTMLはWindows 10 Mobile、及び、Windows Server 2016 Technical Preview 2にも搭載された。2015年7月29日にリリースされたWindows 10の一部として正式リリースされた。

Tridentとは異なりEdgeHTMLは、ActiveXやその他の古い技術に対するサポートが削除されている。一部のページで互換レンダリングを行うために使用されていたX-UA-Compatibleヘッダのサポートも削除されている。また、マイクロソフトは互換ビューリストによる互換レンダリングも取りやめた。Edgeで正しく表示できないページはInternet Explorerで表示する機能を提供する。その他、User Agentの文字列がKHTMLやGecko、Safari、Google ChromeのUser Agent文字列を含むものに変更されている。

EdgeHTMLではTridentに新しい技術の追加と古い技術が削除が行われ、新しいウェブ標準と互換性がある。Windows 10に搭載されたEdge最初のリリースでは、4000以上の機能追加や修正が行われている。

2.2. EdgeHTML 13
----------------

EdgeHTML 13は2015年8月18日にリリースされたWindows 10 Insider Prebiew Build 10525の一部としてリリースされた。HTML5とCSS3のサポートの強化が行われた。RTCオブジェクトのサポートが追加され、また、EdgeHTML 12で追加され標準では無効化されていたASM.jsがEdgeHTML 13では有効化された。変更の中心はECMAScript 6のサポートの強化であり、一部はECMAScript 7に対するサポート強化も含まれている。EdgeHTML 13に含まれるChakraのECMAScript 6に対するサポートは、Kangaxのベンチマークによると84％、試験的な JavaScript 機能を有効にすると90％となり、当時リリースされていたブラウザで次点であるMozilla Firefox 42の71％と比べ13％も広範囲に及んでいる。

EdgeHTML 13は、複数のプラットフォーム向けのWindowsでリリースされた。2015年11月12日に//Xbox Oneの更新//にInternet Explorer 10の代替としてEdgeHTML 13が搭載されたEdgeが含まれた。また同日Windows 10の11月更新の一部としてリリースされた。Windows 10 Mobile向けには2015年11月18日にリリースされた。またサーバ向けにはMicrosoft Windows Server 2016 Technical Preview 4としてリリースされた。

2.3. EdgeHTML 14
----------------

2015年12月16日、マイクロソフトは「Redstone」の最初のビルドをリリースした。その後2016年1月から2月にかけてRedstoneの4つのビルドをリリースし、それらに含まれる形でEdgeHTML 14の初期バージョンがリリースされている。2016年2月18日、マイクロソフトはEdgeHTML 14最初のバージョンとなる14.14267をリリースした。バージョン14.14267の時点ではEdgeHTML 13から変更点は少ないが、Web Notifications、WebRTC 1.0のサポートを追加し、HTML5、CSS3、ECMAScript 6及びECMAScript 7のサポート強化が行われている。また、マイクロソフトはVP9、WOFF 2.0、Web Speech API、WebM、FIDO 2.0、Beaconおよびその他多くの技術をサポートをするため作業を進めていると発表した。

EdgeHTML 14は2016/8/2にWindows 10 2016 Anniversary Updateとともにリリースされた。

2.4. EdgeHTML 15
----------------

2016年10月8日、EdgeHTML15の初期バージョンがリリースされた。

2.5. EdgeHTML 16
----------------

2017年9月26日、EdgeHTML16の初期バージョンがリリースされた。

3. パフォーマンス
----------

また、//AnandTech//が2015年1月時点のWindows 10のビルドにて行ったベンチマークにおいて、JavaScriptのパフォーマンスはその時点のGoogle Chromeを上回った。一方WebGL APIに焦点を当てたベンチマークにおいてはGoogle ChromeやMozilla Firefoxの方がよいパフォーマンスを示すテストがある。また、バッテリーの持続時間に関しては高い性能を示している。特にムービーの再生については、Chrome、Firefox、Operaに対して2倍以上の負荷を加えた場合にも同等以上のバッテリー持続時間を示している。

4. 互換性
------

EdgeHTMLはGoogle Chromeを始めWebKitを使用したブラウザと完全な互換性を持つことを目指している。マイクロソフトは「EdgeとWebKit間のバグによる差異を修正している。」とBlogに記載している 。

最新のEdgeHTML16では銀行系ウイルス対策ソフト Rapportとの互換性がないのでRapportをアンインストールする必要がある。

将来はBlinkベースのブラウザ開発に移行するため、EdgeHTMLを手放す方針である。

5. 脚注
-----

5.1. 出典
-------

6. 参考文献
-------

7. 関連項目
-------

Microsoft Edge
HTMLレンダリングエンジン
Trident