Browser-Engine

Software-Typ From Wikipedia, the free encyclopedia

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.

Verbreitung verschiedener Browser-Engines zwischen 1994 und 2009.

Funktionsweise

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.

Parsen

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

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 Skriptsprachen wie JavaScript auf dieses zugreifen können, um es zu manipulieren.

Stylesheets

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.

Reflow

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

Weitere Informationen Entwickler, Verwendet in ...
Browser-EngineEntwicklerVerwendet inBeschreibung
Engines von produktiv nutzbaren Webbrowsern
BlinkGoogleu. a. Opera[3], Google Chrome, Vivaldi und Microsoft Edge[4]Open Source, Abspaltung von WebKit
GeckoMozilla Foundationu. a. Mozilla Firefox, SeaMonkey, Mozilla CaminoOpen Source
GoannaM. C. Straveru. a. Pale Moon, Basilisk, K-MeleonOpen Source, Abspaltung von Gecko
WebKitAppleu. a. Safari, Epiphany und ICabOpen Source, Abspaltung von KHTML
Experimentelle bzw. in Entwicklung befindliche Engines
LibWebLadybird Browser InitiativeLadybirdOpen Source
NetSurfNetSurfOpen Source
ServoMozilla und SamsungFirefox RealityOpen Source
Eingestellte Engines
EdgeHTMLMicrosoft2015–2019 verwendet von Microsoft Edgeproprietär
KHTMLKDEu. a. KonquerorOpen Source, 2023 eingestellt
PrestoOpera Software2003–2013 verwendet von Operaproprietär
TasmanMicrosoft2000–2003 verwendet von Internet Explorer für Macintoshproprietär
TridentMicrosoft1997–2022 verwendet von Internet Explorer für Windowsproprietär
Schließen

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

Einzelnachweise

Related Articles

Wikiwand AI