It’s #FrontendFriday – Browserengines

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
WebKitAktivAppleGNU LGPLBSD-styleSafari sowie alle Browser, die im iOS App Store zufinden sind
BlinkAktivGoogleGNU LGPLBSD-styleGoogle Chrome und alle anderen Chromium-basierten Browser wie Microsoft EdgeBrave und Opera
GeckoAktivMozillaMozilla PublicFirefox und Thunderbird email client, sowie forksSeaMonkey und Waterfox
ServoAktivMozillaMozilla PublicVersuchsbrowser (Kann unvollständig oder fehlerhaft sein)
GoannaAktivM. C. StraverMozilla PublicPale Moon und Basilisk browser
NetSurfAktivHobbyistenGNU GPLv2NetSurf
KHTMLNicht fortführendKDEGNU LGPLKonqueror
TridentNicht fortführendMicrosoftProprietaryInternet Explorer und Microsoft Outlook
EdgeHTMLNicht fortführendMicrosoftProprietaryformerly in the Microsoft Edge browser

Unterstüzung von HTML, CSS, Grafiken und Typographie

Engine
Status
WebKitAktiv
BlinkAktiv
GeckoAktiv
KHTMLNicht fortführend
PrestoNicht fortführend
EdgeHTMLNicht fortführend
TridentNicht 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

*