EdgeHTML

Z Wikipedii, wolnej encyklopedii
Przejdź do nawigacji Przejdź do wyszukiwania
EdgeHTML
Logo EdgeHTML
Logo programu
Autor Microsoft
Pierwsze wydanie 12.10240 (29 lipca 2015; 3 lata temu)
Aktualna wersja stabilna 18.17763 (2 października 2018; 2 miesiące temu)
Aktualna wersja testowa 19.18277 (7 listopada 2018; miesiąc temu)
Język programowania C++
Platforma sprzętowa x86, x86-64, ARM
System operacyjny Windows 10, Windows 10 Mobile, Xbox One
Rodzaj Silnik przeglądarki internetowej, framework

EdgeHTMLwłasnościowy silnik przeglądarki internetowej opracowany przez firmę Microsoft dla przeglądarki Microsoft Edge. Jest to fork silnika Trident, z którego usunięto cały przestarzały kod starszych wersji Internet Explorera oraz w większości przepisano według standardów W3C[1]. Silnik ten został po raz pierwszy wydany jako eksperymentalna opcja w programie Internet Explorer 11 w Windows 10 Technical Preview build 9879.

Użycie w systemach Windows[edytuj | edytuj kod]

EdgeHTML służy jako składnik oprogramowania aby umożliwić twórcom oprogramowania łatwe wprowadzenie możliwości przeglądania stron internetowych dla własnych aplikacji. EdgeHTML udostępnia interfejs Component Object Model do uzyskiwania dostępu i edytowania stron HTML w każdym środowisku z obsługą COM, jak C++ i .NET. Na przykład, kontrola przeglądarki może być dodana do programu napisanego w C++ i EdgeHTML może więc być użyty aby uzyskać dostęp do strony wyświetlanej w przeglądarce internetowej i uzyskać wartości elementów. Zdarzenia z kontroli przeglądarki mogą także być przechwycone. EdgeHTML jest również używany do renderowania aplikacji WinRT opartych na technologii sieci Web.

EdgeHTML 12[edytuj | edytuj kod]

Microsoft po raz pierwszy zaprezentował silnik renderowania EdgeHTML jako część Internet Explorera 11 w systemie Windows Technical Preview build 9879 12 listopada 2014 roku[2]. Microsoft planował wykorzystać EdgeHTML zarówno w Edge'u jak również w Internet Explorerze. W programie Internet Explorer miałby być drugim silnikiem, obok Tridenta 7 napędzającego Internet Explorera 11, którego zamierzano zachować dla kompatybilności wstecznej. Ostatecznie jednak Microsoft zdecydował się dodać Internet Explorera 11 jako część preinstalowanego oprogramowania systemu operacyjnego Windows 10, jak miało to miejsce w poprzednich wersjach systemu Windows[3], pozostawiając EdgeHTML tylko dla najnowszej przeglądarki – Microsoft Edge. Silnik ten został również dodany do systemu Windows 10 Mobile i Windows Server 2016. EdgeHTML oficjalnie wydano 29 lipca 2015 jako część Windows 10[4][5].

EdgeHTML 13[edytuj | edytuj kod]

18 sierpnia 2015 roku Microsoft wydał pierwszą wersję podglądową EdgeHTML 13 w Windows 10.0.10525. Mimo tego była ona nadal oznaczona jako wersja 12. W kolejnych aktualizacjach wsparcie dla HTML5 i CSS3 zostało uzupełnione o nowe elementy. Microsoft dodał również wsparcie dla Object RTC i włączył domyślnie ASM.js. W tej aktualizacji nacisk położono głównie na poprawę wsparcia dla ECMAScriptu 6 i ECMAScriptu 7.

Finalnie EdgeHTML 13 (13.10586) został wydany 10 listopada 2015 jako część aktualizacji November Update (wersja 1511) systemu operacyjnego Windows 10

EdgeHTML 14[edytuj | edytuj kod]

16 grudnia 2015 roku Microsoft wydał pierwszą kompilację aktualizacji o nazwie kodowej Redstone. W styczniu i w lutym 2016, ukazały się 4 inne kompilacje pokazujące fundamentalne prace nad EdgeHTML 14. 18 lutego 2016 Microsoft udostępnił pierwszą wersję EdgeHTML 14 – 14.14267. Ta wersja silnika nie zawiera prawie żadnych zmian w standardach, ale zawierała fundamentalne prace dla Powiadomień Web, WebRTC 1.0, ulepszone wsparcie dla CSS i ECMAScript i zawierała również szereg nowych flag. Ponadto firma Microsoft ogłosiła, że pracuje nad obsługą VP9, WOFF 2.0, Web Speech API, WebM, FIDO 2.0, Beacon i wielu innych technologii.

2 sierpnia 2016 EdgeHTML 14 został wydany w systemie Windows 10 w ramach aktualizacji Anniversary Update (wersja 1607).

EdgeHTML 15[edytuj | edytuj kod]

EdgeHTML 15 został wydany 11 kwietnia 2017 w systemie Windows 10 w ramach aktualizacji Creators Update (wersja 1703).

EdgeHTML 16[edytuj | edytuj kod]

17 października 2017 roku EdgeHTML 16 został wydany w systemie Windows 10 w ramach aktualizacji Fall Creators Update (wersja 1709).

EdgeHTML 17[edytuj | edytuj kod]

EdgeHTML 17 został wydany 30 kwietnia 2018 w systemie Windows 10 w ramach aktualizacji April 2018 Update (wersja 1803).

EdgeHTML 18[edytuj | edytuj kod]

EdgeHTML 18 został wydany 2 października 2018 w systemie Windows 10 w ramach aktualizacji October 2018 Update (wersja 1809).

Wydajność[edytuj | edytuj kod]

AnandTech dokonał przeglądu silnika w najnowszej kompilacji 9926 systemu operacyjnego Windows 10. Benchmark ukazał znaczne ulepszenia w wydajności w porównaniu z Tridentem. Szczególnie dobrze wypadł tutaj Microsoftowy silnik JavaScriptu, który dorównuje teraz obecnemu liderowi – V8 wykorzystywanemu m.in. przez Google Chrome[6]. Inne benchmarki, koncentrując się na WebGL-u również zauważyły, że EdgeHTML wykazuje się o wiele lepiej niż nie tylko jego poprzednik – Trident 7 – ale również inne silniki, jak np. Blink wykorzystywany przez Chrome'a[7].

Kompatybilność[edytuj | edytuj kod]

Celem EdgeHTML jest pełna kompatybilność z silnikami Blink i WebKit wykorzystywanymi przez Google Chrome i Safari. Firma Microsoft poinformowała, że „wszelkie różnice pomiędzy Edge-WebKit są błędami, które jesteśmy zainteresowani naprawić”[8].

EdgeHTML koncentruje się na współczesnych standardach i interoperacyjności, a nie zgodności. Pierwsze wydanie EdgeHTML w Windows 10 zawierało ponad 4000 poprawek interoperacyjności[8].

Różnice względem Tridenta[edytuj | edytuj kod]

W przeciwieństwie do Tridenta, EdgeHTML nie obsługuje kontrolek ActiveX. Porzuca on również wsparcie dla nagłówka zgodnego z X-UA, używanego przez Tridenta w celu określenia, w której wersji musiał renderować określoną witrynę. Microsoft również porzucił Widok Zgodności[9]. Microsoft Edge rozpoznaje, czy dana witryna internetowa do prawidłowego działania wymaga którejś z porzuconych technologii i w razie potrzeby zasugeruje jej otwarcie w Internet Explorerze 11. Kolejną zmianą było dodanie do user agenta kłamliwego ciągu, który podaje przeglądarkę Edge również jako Chrome i Safari, a także wspomina o KHTML i Gecko, tak że serwery stron www dostosowane do różnych ciągów ua wysyłają przeglądarce Edge pełne wersje stron zamiast stron o zredukowanej funkcjonalności.

Porównanie user agenta przeglądarki Microsoft Edge i Internet Explorera 11 w 64-bitowym systemie Windows 10 (w wersji 1507)
EdgeHTML 12 Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36 Edge/12.10240
Trident 7 Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko

Zobacz też[edytuj | edytuj kod]

Przypisy[edytuj | edytuj kod]

  1. Vlad Dudau: What's powering Spartan? Internet Explorer, of course (ang.). Neowin, 2015-01-23. [dostęp 2017-11-13].
  2. Jacob Rossi: Living on the edge – our next step in helping the web just work (ang.). IEBlog, 2014-11-11. [dostęp 2017-11-13].
  3. Kyle Pflug: Updates from the „Project Spartan” Developer Workshop (ang.). IEBlog, 2015-03-24. [dostęp 2017-11-13].
  4. Gabe Aul: Build 10240 now available for Windows Insiders in Fast and Slow rings – Microsoft Edge is blazing fast! (ang.). Windows Blog, 2015-07-15. [dostęp 2017-11-13].
  5. Terry Myerson: Windows 10 Free Upgrade Available in 190 Countries Today (ang.). Windows Blog, 2015-07-28. [dostęp 2017-11-13].
  6. Brett Howse: Internet Explorer Project Spartan Shows Large Performance Gains (ang.). AnandTech, 2015-01-25. [dostęp 2017-11-13].
  7. Markus Kasanmascheff: Benchmark Deep-Dive: Microsoft Windows 10 Spartan Browser vs. IE11 vs. Google Chrome 41 vs. Mozilla Firefox 36 (ang.). WinBuzzer, 2015-02-09. [dostęp 2017-11-13].
  8. a b Microsoft Edge Team: Building a more interoperable Web with Microsoft Edge (ang.). Windows Blog, 2015-06-17. [dostęp 2017-11-13].
  9. Charles Morris: A break from the past: the birth of Microsoft’s new web rendering engine (ang.). IEBlog, 2015-02-26. [dostęp 2017-11-13].

Linki zewnętrzne[edytuj | edytuj kod]