So sollen sowohl User als auch Webentwickler von der neuen Browser-Engine profitieren, die dafür sorgen soll, dass Web-Content korrekt, schneller und zuverlässiger gerendert wird. In einem Blogpost im Microsoft-Edge-Blog hat Frank Olivier den Weg zu einem interoperableren Web mit Microsoft Edge dargestellt.
Überarbeitung der Rendering Engine in Microsoft Edge
Das Web basiert auf der Implementierung vieler verschiedener, voneinander unabhängiger, interoperabler Web-Standards, und dafür müssen der gesamte Web-Content sowie alle Browser und Spezifikationen auf das gleiche Verhalten ausgerichtet werden. Darum hat sich das Microsoft-Edge-Team bei der Entwicklung der neuen Engine vor allem auch mit anderen Browser-Herstellern ausgetauscht, um bestehende Interoperabilitätsprobleme auszumerzen.
Dazu gehört auch der Fork der alten Trident-Engine zur neuen, Microsoft EdgeHTML genannten, Engine, bei dem zu Beginn erstmal zahlreiche Änderungen vorgenommen werden mussten. Die einfachste, aber gleichzeitig wohl einflussreichste Änderung betrifft dabei den User-Agent-String, der den Browser bei Webservern identifiziert.
So wurden zahlreiche Probleme behoben, die durch UA-Sniffing in der alten IE11-Engine aufgetreten sind. Um zu verhindern, dass Websites die neue Engine als Internet Explorer entdecken, wurden zudem viele Legacy-IE-Überbleibsel wie etwa ActiveX entfernt. Erst letztes Jahr hat Microsoft auch den Support für WebKit-prefixed CSS hinzugefügt, um viele moderne Mobile-Sites rendern zu können.
Implementierung neuer Features in Microsoft Edge
Browser-Interoperabilität benötigt immer neue Features und Fixes. Darum wurden auch in Microsoft Edge viel gewünschte Features wie der Support von asm.js und ECMAScript 6, HTTP/2, Responsive Images und Media Capture implementiert. Um jedoch die Arbeit an der Interoperabilität priorisieren zu können, werden umfangreiche Datenmengen benötigt, die zum Beispiel mithilfe des Bing-Web-Crawlers gesammelt wurden.
Bei einigen Spezifikationen musste das Edge-Team jedoch von der vorgegebenen Definition abweichen – und zwar ohne die Funktionalität der Spezifikation einzuschränken. Dazu sagt Frank Olivier:
As we are making changes to be more liberal in accepting content, we are also working to ensure that the specification match the behaviour that the web developers are used to.
Allerdings hängen große Teile einer modernen Webseite auch von nicht standardisiertem Browser-Verhalten ab. Auch hier arbeitet Microsoft daran, Spezifikationen hinzuzufügen und weiterzuentwickeln, um für eine bessere Interoperabilität zu sorgen. Bereits jetzt ist Microsoft Edge jedoch deutlich interoperabler mit dem Web, als jeder vorige Microsoft-Browser, und die Erfüllung des Wunschs nach einem interoperablen Web, das über alle Browser und Devices hinweg funktioniert, rückt so immer näher:
Our long-term hope is that web content, all browsers, and the specifications align to a single well-defined well-designed behavior.
Webperformance und Page Speed 2021
mit Sven Wolfermann (maddesigns)
UX Design: Kitsch – du willst es doch auch!
mit Lutz Schmitt (Lutz Schmitt Design & Consulting)
SEO loves PR: Wie zwei Disziplinen gemeinsam erfolgreich sein können
mit Anne Kiefer (sexeedo GmbH)