EdgeHTML

EdgeHTML

Screenshot of Microsoft Edge in Windows 10 showing the English Wikipedia main page rendered by EdgeHTML 12
Developer(s) Microsoft
Stable release 13.10586 / November 12, 2015 (2015-11-12)
Preview release 14.14328 / April 22, 2016 (2016-04-22)
Written in C++[1]
Type Application framework, software component
License Proprietary

EdgeHTML is a proprietary layout engine developed by Microsoft for the Microsoft Edge web browser. It is a fork of Trident that has removed all legacy code of older versions of Internet Explorer and rewritten the majority of its source code with web standards and interoperability with other modern browsers in mind.[2] The rendering engine was first released as an experimental option in Internet Explorer 11 as part of the Windows 10 Technical Preview build 9879.

Usage in Windows

EdgeHTML is designed as a software component to allow software developers to easily add web browsing functionality to their own applications. It presents a COM interface for accessing and editing web pages in any COM-supported environment, like C++ and .NET. For instance, a web browser control can be added to a C++ program and EdgeHTML can then be used to access the page currently displayed in the web browser and retrieve element values. Events from the web browser control can also be captured. It's also used to render WinRT-apps that are based on web technologies.

Release history

EdgeHTML Edge Release Notes
12.10240 20.10240 July 15, 2015 Initial release, based on Trident 7.0. Part of Windows since Windows 10 Technical Preview build 10049. Contains improvements to performance, support for HTML5, CSS3 and ECMAScript 6.
13.10586 25.10586 November 5, 2015 First platform update, includes further enhancements to ECMAScript 6 support and HTML5, including Object RTC support.[3]
14.14267 31.14267 Web Notifications, WebRTC 1.0, improved HTML5, CSS3 and ECMAScript 6 and 7 support.

EdgeHTML 12

Microsoft first introduced the EdgeHTML render engine as part of Internet Explorer 11 in the Windows Technical Preview build 9879 on November 12, 2014.[4] Microsoft planned to use EdgeHTML both in Internet Explorer and Project Spartan, in Internet Explorer it would exist among the Trident 7 engine from Internet Explorer 11, the latter being used for compatibility purposes. However, Microsoft decided to ship Internet Explorer 11 in Windows 10 as it was in Windows 8.1,[5] leaving EdgeHTML only for the new Edge browser. EdgeHTML was also added to Windows 10 Mobile and the second Windows Server 2016 Technical Preview. It was officially released on July 29, 2015 as part of Windows 10.[6]

Unlike Trident, EdgeHTML doesn't support ActiveX and other outdated technologies. It also drops support for the X-UA-Compatible header, used by Trident to determine in which version it had to render a certain page. Microsoft also dropped the usage of Compatibility View-lists.[7] The removal of legacy technologies gave EdgeHTML a significant performance boost over Trident, making Edge on par with other modern browsers.[8] Edge will recognize if a page requires any of the removed technologies to run properly and suggest to the user to open the page in Internet Explorer instead. Another change made to improve support with web pages was changing the User agent string, which claims to be Chrome and Safari, while also using KHTML and Gecko.

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

Breaking from Trident, the new EdgeHTML engine will be focused on modern web standards and interoperability. The initial release of Edge HTML on Windows 10 included more than 4000 interoperability fixes. [9]

EdgeHTML 13

On August 18, 2015, Microsoft released the first preview to EdgeHTML platform version 13 as part of Windows 10.0.10525, though it was still labeled as version 12. In subsequent updates, the support for HTML5 and CSS3 was extended to include new elements. Microsoft also included support for Object RTC and enabled ASM.js by default after it was added in version 12. The update's main focus was on improving the support for ECMAScript 6 and also including some features from ECMAScript 7. With that update to Chakra Edge provided to most extensive support for ECMAScript 6 according to the Kangax benchmark with 84% (and 90% with all flags enabled), 13% ahead of Mozilla Firefox 42, the then-current version of Firefox and runner-up.[3]

EdgeHTML 13.10586 was released in multiple versions of Windows. On November 12, 2015, the New Xbox One Experience-update for the Xbox One included EdgeHTML 13.10586, replacing Internet Explorer 10 in the process. It was released to Windows 10 as part of the November Update on the same day. On November 18, 2015, the updated got rolled out to Windows 10 Mobile users in the Insider Preview. Finally, Microsoft rolled out the same update to Windows Server 2016 as part of Technical Preview 4.

EdgeHTML 14

On December 16, 2015, Microsoft released the first build of Redstone. In January and February 2016, 4 other builds followed, all laying the foundational work for EdgeHTML 14. On February 18, 2016, Microsoft released the first version of EdgeHTML 14 as version 14.14267. This version of the engine contained almost no changes in standards support yet, but contained fundamental work for Web Notifications, WebRTC 1.0, improved ECMAScript and CSS support and also contained a number of new flags. Further, Microsoft announced that it is working on VP9, WOFF 2.0, Web Speech API, WebM, FIDO 2.0, Beacon and many other technologies.

Performance

A review of the engine in the latest Windows 10 build by AnandTech found substantial benchmark improvements over Trident, particularly JavaScript engine performance, which is now up to par with that of Google Chrome.[10] Other benchmarks focusing on the performance of the WebGL API found EdgeHTML to perform much better than Google Chrome and Mozilla Firefox.[11]

Compatibility

EdgeHTML is meant to be fully compatible with the WebKit layout engine used by the Google Chrome browser, and others. Microsoft has stated that "any Edge-WebKit differences are bugs that we’re interested in fixing." [12]

See also

References

Further reading

This article is issued from Wikipedia - version of the Friday, April 22, 2016. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.