EdgeHTML (エッジ エイチティーエムエル)とはMicrosoft Edge 向けにマイクロソフト が開発していたプロプライエタリ レンダリングエンジン である。
マイクロソフトはEdgeHTMLをInternet Explorer のレンダリングエンジンであるTrident から「フォーク 」したものと謳っていたが、EdgeHTMLへの移行と同時にTridentは開発が終了したため、実質的には名称を変更した後継バージョンである。Tridentのそれまでのメジャーアップデートに引き続きレガシー な機能を削除し、Web標準 を重視し他の最新ブラウザとの互換性のさらなる向上が図られた[ 2] 。
2014年 11月に公開されたWindows 10 Technical PreviewのBuild 9879のInternet Explorer 11 に実験的に搭載され初めてリリースされ、2015年 6月に正式版が公開された。しかし、その3年後となる2018年 にはMicrosoft EdgeをChromium ベースで再開発することが発表され、2020年 の最終版をもってEdgeHTMLの開発は終了した。
Windowsでの使われ方
EdgeHTMLは、ソフトウェア開発者 がアプリケーション にウェブブラウズ機能を簡単に追加できるようにソフトウェアコンポーネント として設計されている。COM インタフェース によるC++ や、.NET から使用することができる。C++ や.NET でウェブブラウザ コントロールを使用した場合、EdgeHTMLを通して表示しているウェブページ の要素値を取得、ウェブページで発生したイベントを捕捉することができる。また、ウェブブラウザコントロール自身から発生したイベントについても捕捉することができる。 またWindows Bridge for Web アプリによって作成されたアプリケーションをレンダリングする為にも使用されている。
2021年3月9日、 Chromiumベースではないレガシー版Edgeがサポート終了するが、Edgehtml.dllやChakra.dllといったEdgeHTMLのコアコンポーネント自体は、ソフトウェアの互換性維持のために継続してサポートされる。
リリース履歴
EdgeHTMLバージョン
Edgeバージョン
リリース日
備考
12.10240
20.10240
2015/7/15
初版。Trident 7.0をベースとしている。Windows 10 Technical Preview build 10049の一部としてリリースされた。HTML5、CSS3のサポート強化、および、パフォーマンスの改善が行われた。
13.10586[ 3]
25.10586
2015/11/5
EdgeHTMLとしての最初のアップデート。ECMAScript 6のサポート強化、HTML5のRTCオブジェクトのサポート強化が行われている。
14.14393
38.14393
2016/8/2
Web Notifications、WebRTC 1.0、拡張機能、タブのピン止め、VP9のサポート追加。HTML5、CSS3、ECMAScript 6及びECMAScript 7のサポート強化。
15.14942
39.14942
2016/10/8
16.16299
41.16299
2017/9/26
17.17134
2018/4/30
18.17763
44.17763
2018/10/2
EdgeHTML 12
2014年11月12日にWindows 10 Technical Preview build 9879の一部としてInternet Explorer 11 のレンダリングエンジンとしてEdgeHTML 12は搭載された[ 4] 。マイクロソフトは当初、互換性の為にInternet Explorer 11で使用されていたTrident 7の新たな機能をEdgeHTMLに搭載し、新たなInternet ExplorerとProject Spartan(後のMicrosoft Edge) の両方に使用する予定だった。ただし、最終的にマイクロソフトはEdgeHTMLはMicrosoft Edgeにのみ使用し、Windows 10にはWindows 8.1 [ 5] と同じInternet Explorer 11を搭載することとした。EdgeHTMLはTridentをベースにレガシーな機能の削除、および、パフォーマンス改善が行われ、Edgeは他の最新ブラウザと同等の機能やパフォーマンスとなった[ 6] 。EdgeHTMLはWindows 10 Mobile 、及び、Windows Server 2016 Technical Preview 2にも搭載された。2015年7月29日にリリースされたWindows 10 の一部として正式リリースされた[ 7] 。
Tridentとは異なりEdgeHTMLは、ActiveX やその他の古い技術に対するサポートが削除されている。一部のページで互換レンダリングを行うために使用されていたX-UA-Compatibleヘッダのサポートも削除されている。また、マイクロソフトは互換ビューリストによる互換レンダリングも取りやめた[ 8] 。Edgeで正しく表示できないページはInternet Explorerで表示する機能を提供する。その他、User Agentの文字列がKHTML やGecko 、Safari 、Google Chrome のUser Agent文字列を含むものに変更されている。
Microsoft EdgeHTML 12
Mozilla/5.0 (Windows NT 10.0;) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36 Edge/12.10240
Internet Explorer 11
Mozilla/5.0 (Windows NT 10.0; Trident/7.0; rv:11.0) like Gecko
EdgeHTMLではTridentに新しい技術の追加と古い技術が削除が行われ、新しいウェブ標準 と互換性がある。Windows 10に搭載されたEdge最初のリリースでは、4000以上の機能追加や修正が行われている[ 9] 。
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%も広範囲に及んでいる[ 3] 。
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としてリリースされた。
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とともにリリースされた。
EdgeHTML 15
2016年10月8日、EdgeHTML15の初期バージョンがリリースされた。
EdgeHTML 16
2017年9月26日、EdgeHTML16の初期バージョンがリリースされた。
パフォーマンス
また、AnandTech が2015年1月時点のWindows 10のビルドにて行ったベンチマークにおいて、JavaScript のパフォーマンスはその時点のGoogle Chrome を上回った[ 10] 。一方WebGL API に焦点を当てたベンチマークにおいてはGoogle ChromeやMozilla Firefox の方がよいパフォーマンスを示すテストがある[ 11] 。また、バッテリーの持続時間に関しては高い性能を示している。特にムービーの再生については、Chrome、Firefox、Operaに対して2倍以上の負荷を加えた場合にも同等以上のバッテリー持続時間を示している[ 12] 。
互換性
マイクロソフトはTrident 時代から他社製ウェブブラウザとの互換性の問題を抱えており、特に利用シェアが下落 に転じた2010年代 以降はその問題が大きくなった。その反省からEdgeHTMLは当時Google Chromeを始めとするWebKit を使用したブラウザと完全な互換性を持つことを目指しており、マイクロソフトは「Edge・WebKit間の差異はバグと見做し、修正の対象とする」とBlogにおいて宣言していた[ 13] 。しかし、結局完全な互換性を実現するには至らず、Microsoft EdgeそのものをChromium (Google Chromeでも用いられるコードベース)で再開発するよう方針が転換された。EdgeHTMLの開発が放棄されたことにより、Trident時代も含めると20年以上に渡って続いていた互換性問題が一段落することとなった。
脚注
出典
参考文献
関連項目
マイクロソフトのAPIとフレームワーク
グラフィック オーディオ マルチメディア ウェブ データアクセス ネットワーク コミュニケーション 管理 コンポーネントモデル ライブラリ デバイスドライバ セキュリティ .NET ソフトウェアファクトリー IPC アクセシビリティ テキストと多言語 サポート
バージョン
概要 技術 ソフトウェア& エンジン 実装 出来事 人物