It’s #FrontendFriday – Browserengines

26.07.2019

It’s Friday that means #FrontendFriday! :)

Heute geht es um das Thema „Browserengines“.

Was ist eigentlich eine Browserengine?

Eine Browser-Engine ist eine zentrale Softwarekomponente eines Webbrowsers.

Die Hauptaufgabe einer Browserengine besteht darin, HTML-Dokumente und andere Ressourcen einer Webseite in eine interaktive visuelle Darstellung auf dem Gerät eines Benutzers zu transformieren.

Eine Browser-Engine ist kein eigenständiges Computerprogramm, sondern ein Bestandteil eines Webbrowsers, aus dem der Begriff abgeleitet ist.

Neben der Browserengine werden in Bezug auf verwandte Konzepte zwei weitere Begriffe verwendet: „Layout-Engine“ und „Rendering-Engine“. Theoretisch könnten Layout und Rendering von separaten Engines übernommen werden. In der Praxis sind sie jedoch eng gekoppelt und werden selten getrennt betrachtet.

Zusätzlich zum Layout und Rendering erzwingt eine Browser-Engine die Sicherheitsrichtlinien zwischen Dokumenten und implementiert die Datenstruktur des Document Object Model (DOM), die Seitenskripten ausgesetzt ist. Es werden auch Hyperlinks und Webformulare behandelt.

Das Ausführen von JavaScript (JS)-Code ist jedoch eine separate Angelegenheit, da jeder gängige Webbrowser dafür eine eigene Engine verwendet. Die JS-Sprache wurde ursprünglich für die Verwendung in Browsern entwickelt, wird aber nun auch an anderer Stelle verwendet, so dass die Implementierung von JS-Engines von Browser-Engines entkoppelt ist. In einem Webbrowser arbeiten die beiden Engines über die gemeinsame DOM-Datenstruktur zusammen.

Vergleich von Browserengines

Engine
Status
Verwalter
Lizenz
Eingebunden in
WebKit Aktiv Apple GNU LGPLBSD-style Safari sowie alle Browser, die im iOS App Store zufinden sind
Blink Aktiv Google GNU LGPLBSD-style Google Chrome und alle anderen Chromium-basierten Browser wie Microsoft EdgeBrave und Opera
Gecko Aktiv Mozilla Mozilla Public Firefox und Thunderbird email client, sowie forksSeaMonkey und Waterfox
Servo Aktiv Mozilla Mozilla Public Versuchsbrowser (Kann unvollständig oder fehlerhaft sein)
Goanna Aktiv M. C. Straver Mozilla Public Pale Moon und Basilisk browser
NetSurf Aktiv Hobbyisten GNU GPLv2 NetSurf
KHTML Nicht fortführend KDE GNU LGPL Konqueror
Trident Nicht fortführend Microsoft Proprietary Internet Explorer und Microsoft Outlook
EdgeHTML Nicht fortführend Microsoft Proprietary formerly in the Microsoft Edge browser

Unterstüzung von HTML, CSS, Grafiken und Typographie

Engine
Status
WebKit Aktiv
Blink Aktiv
Gecko Aktiv
KHTML Nicht fortführend
Presto Nicht fortführend
EdgeHTML Nicht fortführend
Trident Nicht fortführend

Bevor ich mich mit Browserengines beschäftigt hatte:

 

 

 

 

 

 

 

Und jetzt:

Zurück zur Übersicht

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

*Pflichtfelder

*