EdgeHTML

レンダリングエンジン > HTMLレンダリングエンジン > EdgeHTML EdgeHTML（エッジ エイチティーエムエル）とはMicrosoft Edge向けにマイクロソフトが開発していたプロプライエタリレンダリングエンジンである。 マイクロソフトはEdgeHTMLをInternet ExplorerのレンダリングエンジンであるTridentから「フォーク」したものと謳っていたが、EdgeHTMLへの移行と同時にTridentは開発が終了したため、実質的には名称を変更した後継バージョンである。Tridentのそれまでのメジャーアップデートに引き続きレガシーな機能を削除し、Web標準を重視し他の最新ブラウザとの互換性のさらなる向上が図られた。 2014年11月に公開されたWindows 10 Technical PreviewのBuild 9879のInternet Explorer 11に実験的に搭載され初めてリリースされ、2015年6月に正式版が公開された。しかし、その3年後となる2018年にはMicrosoft EdgeをChromiumベースで再開発することが発表され、2020年の最終版をもってEdgeHTMLの開発は終了した。 EdgeHTMLは、ソフトウェア開発者がアプリケーションにウェブブラウズ機能を簡単に追加できるようにソフトウェアコンポーネントとして設計されている。COMインタフェースによるC++や、.NETから使用することができる。C++や.NETでウェブブラウザコントロールを使用した場合、EdgeHTMLを通して表示しているウェブページの要素値を取得、ウェブページで発生したイベントを捕捉することができる。また、ウェブブラウザコントロール自身から発生したイベントについても捕捉することができる。 またWindows Bridge for Web アプリによって作成されたアプリケーションをレンダリングする為にも使用されている。 2021年3月9日、 Chromiumベースではないレガシー版Edgeがサポート終了するが、Edgehtml.dllやChakra.dllといったEdgeHTMLのコアコンポーネント自体は、ソフトウェアの互換性維持のために継続してサポートされる。 2014年11月12日にWindows 10 Technical Preview build 9879の一部としてInternet Explorer 11のレンダリングエンジンとしてEdgeHTML 12は搭載された。マイクロソフトは当初、互換性の為にInternet Explorer 11で使用されていたTrident 7の新たな機能をEdgeHTMLに搭載し、新たなInternet ExplorerとProject Spartan（後のMicrosoft Edge）の両方に使用する予定だった。ただし、最終的にマイクロソフトは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以上の機能追加や修正が行われている。 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としてリリースされた。 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とともにリリースされた。 2016年10月8日、EdgeHTML15の初期バージョンがリリースされた。 2017年9月26日、EdgeHTML16の初期バージョンがリリースされた。 また、AnandTechが2015年1月時点のWindows 10のビルドにて行ったベンチマークにおいて、JavaScriptのパフォーマンスはその時点のGoogle Chromeを上回った。一方WebGL APIに焦点を当てたベンチマークにおいてはGoogle ChromeやMozilla Firefoxの方がよいパフォーマンスを示すテストがある。また、バッテリーの持続時間に関しては高い性能を示している。特にムービーの再生については、Chrome、Firefox、Operaに対して2倍以上の負荷を加えた場合にも同等以上のバッテリー持続時間を示している。 マイクロソフトはTrident時代から他社製ウェブブラウザとの互換性の問題を抱えており、特に利用シェアが下落に転じた2010年代以降はその問題が大きくなった。その反省からEdgeHTMLは当時Google Chromeを始めとするWebKitを使用したブラウザと完全な互換性を持つことを目指しており、マイクロソフトは「Edge・WebKit間の差異はバグと見做し、修正の対象とする」とBlogにおいて宣言していた。しかし、結局完全な互換性を実現するには至らず、Microsoft EdgeそのものをChromium（Google Chromeでも用いられるコードベース）で再開発するよう方針が転換された。EdgeHTMLの開発が放棄されたことにより、Trident時代も含めると20年以上に渡って続いていた互換性問題が一段落することとなった。 [脚注の使い方] ^ Hachamovitch, Dean (2007-12-14), Internet Explorer 8 and Acid2: A Milestone, Microsoft, http://blogs.msdn.com/ie/archive/2007/12/19/internet-explorer-8-and-acid2-a-milestone.aspx  ^ “What's powering Spartan? Internet Explorer, of course”. Neowin. 13 January 2016閲覧。 ^ a b “Introducing EdgeHTML 13, our first platform update for Microsoft Edge”. Windows Blog. 19 November 2015閲覧。 ^ “Living on the edge – our next step in helping the web just work”. IE Blog. 19 November 2015閲覧。 ^ “Updates from the "Project Spartan" Developer Workshop”. IE Blog. 6 December 2015閲覧。 ^ “Edge is blazing fast”. Windows Blog. April 20, 2016閲覧。 ^ “Windows 10 Free Upgrade Available in 190 Countries Today”. Windows Blog. 19 November 2015閲覧。 ^ “A break from the past: the birth of Microsoft's new web rendering engine”. IE Blog. 19 November 2015閲覧。 ^ “Building a more interoperable Web with Microsoft Edge” (英語). Microsoft Edge Dev Blog (17 June 2015). 8 May 2016閲覧。 ^ Brett Howse. “AnandTech - Internet Explorer Project Spartan Shows Large Performance Gains”. anandtech.com. 13 January 2016閲覧。 ^ “Benchmark Deep-Dive: Microsoft Windows 10 Spartan Browser vs. IE11 vs. Google Chrome 41 vs. Mozilla Firefox”. WinBuzzer. 9 February 2015閲覧。 ^ “最もバッテリーが長持ちするブラウザは？Microsoftがバッテリー消費テスト・第2ラウンド実施”. GIGAZINE. (2016年9月16日). https://gigazine.net/news/20160916-microsoft-edge-experiment-battery-life/  ^ “Building a more interoperable Web with Microsoft Edge”. 2024年5月7日閲覧。 Weber, Jason. “Project Spartan and the Windows 10 January Preview Build”. IEBlog. マイクロソフト. 22 January 2015閲覧。 Microsoft Edge HTMLレンダリングエンジン Trident