Zum Inhalt springen

Browser-Engine

aus Wikipedia, der freien Enzyklopädie
Verbreitung verschiedener Browser-Engines zwischen 1994 und 2009.

Eine Browser-Engine (auch HTML-Renderer oder Layout-Engine genannt) ist die zentrale Softwarekomponente eines Webbrowsers. Die Hauptaufgabe einer Browser-Engine ist es, die Inhalte einer Webseite korrekt darzustellen und interaktiv nutzbar zu machen. Dazu kommen verschiedene Aufgaben, die im Hintergrund ablaufen, wie das Ausführen von JavaScript durch eine JavaScript-Engine und das Verwalten von Ressourcen wie z. B. Bilder oder Schriftarten.

Die meisten Webseites benutzen Hypertext Markup Language (HTML) zur Beschreibung des Inhalts und Cascading Style Sheets (CSS) zur Beschreibung der Darstellung. Dazu kommen oft Bilder in Form von Rastergrafiken oder Scalable Vector Graphics.

Das HTML-Dokument wird eingelesen und dessen Elemente strukturiert. Diesen Vorgang nennt man Parsen. Nahezu jeder Browser nutzt dafür seinen eigenen Renderer. Die Festlegung der Standards für HTML-Dokumente werden dabei unter anderem vom World Wide Web Consortium festgelegt und definiert. Dabei existieren unterschiedliche Standards, die Syntax der Elemente bleibt aber weitestgehend gleich. Der Entwickler sollte mit Hilfe des sogenannten Doctypes angeben, welcher Standard benutzt wird. Wird der festgelegte Standard nicht vollständig eingehalten, ist das HTML-Dokument nicht valide, der Browser kann die Elemente nicht richtig interpretieren und es kann zu Fehldarstellungen kommen.

Generierung des Document Object Models

[Bearbeiten | Quelltext bearbeiten]

Wurde das Dokument erfolgreich eingelesen, wird ein sogenanntes Document Object Model erstellt. Diese hierarchische Struktur beinhaltet Informationen über die Ordnung und Unterelemente (Kinder genannt). Das Document Object Model ist auch nach der Ausgabe noch relevant, da etwa clientseitige Scriptsprachen wie JavaScript auf dieses zugreifen können, um es zu manipulieren.

Die Stylesheets enthalten eine Liste von Selektoren (Bedingungen an die Teilstruktur des HTML-Dokuments, die zutreffen müssen, damit die Regeln angewendet werden) und Regeln (Attribute, die auf die der entsprechenden Teilstruktur zugeordnete visuelle Repräsentation angewendet werden). Per Voreinstellung liefert der Browser ein Standard-Stylesheet aus, das die meisten Elemente grundformatiert.[1] CSS ist sehr flexibel. Es ist möglich, diesen Satz von Regeln komplett pro Benutzer oder pro Dokument auszutauschen. Dadurch sind den Darstellungsvarianten fast keine Grenzen gesetzt.

Die Berechnung von SGML-Strukturen (wie etwa HTML) wird als Reflow bezeichnet. In diesem Prozess wird die grundlegende Geometrie der zu formatierenden Objekte berechnet – etwa die Höhe oder die Breite eines Elements. Die zu formatierenden Objekte werden als frames (dt. Rahmen) bezeichnet[2] und sind nicht zu verwechseln mit den Frames, die das Laden einer HTML-Seite in eine andere ermöglichen.

Liste von Browser-Engines

[Bearbeiten | Quelltext bearbeiten]
Browser-Engine Entwickler Verwendet in Beschreibung
Engines von produktiv nutzbaren Webbrowsern
Gecko Mozilla Foundation u. a. Mozilla Firefox, SeaMonkey, Mozilla Camino Open Source
KHTML KDE u. a. Konqueror Open Source
WebKit Apple u. a. Safari, Epiphany und ICab Open Source, Abspaltung von KHTML
Blink Google u. a. Opera[3], Google Chrome, Vivaldi und Microsoft Edge[4]) Open Source, Abspaltung von WebKit
Experimentelle bzw. in Entwicklung befindliche Engines
LibWeb Ladybird Browser Initiative Ladybird Open Source
Servo Mozilla und Samsung Firefox Reality Open Source
NetSurf NetSurf Open Source
Eingestellte Engines
Presto Opera Software 2003–2013 verwendet von Opera proprietär
Trident Microsoft 1997–2022 verwendet von Internet Explorer für Windows proprietär
Tasman Microsoft 2000–2003 verwendet von Internet Explorer für Macintosh proprietär
EdgeHTML Microsoft 2015–2019 verwendet von Microsoft Edge proprietär

Zu Browser-Engines für textbasierte Webbrowser siehe Liste von Webbrowsern#Textbasierte Webbrowser.

Einzelnachweise

[Bearbeiten | Quelltext bearbeiten]
  1. Standard-Stylesheet einer älteren Firefox-Version
  2. Chris Waterson: Notes on HTML Reflow. Mozilla Foundation, archiviert vom Original (nicht mehr online verfügbar) am 3. Juli 2010; abgerufen am 15. Juli 2008 (englisch).  Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.@1@2Vorlage:Webachiv/IABot/www.mozilla.org
  3. Luca Caracciolo: Opera setzt auf Webkit: Was bedeutet das für die Weiterentwicklung von HTML? In: t3n Magazin. 14. Februar 2013, archiviert vom Original am 16. Februar 2013; abgerufen am 28. Juni 2013.  Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.@1@2Vorlage:Webachiv/IABot/t3n.de
  4. Upgrading to the new Microsoft Edge. 15. Januar 2020, abgerufen am 22. Januar 2020 (amerikanisches Englisch).