Browsermotor
A Browsermotor (auch bekannt als a Layout -Motor oder Rendering-Engine) ist ein Kern Softwarekomponente von jedem Major Webbrowser. Die Hauptaufgabe eines Browsermotors besteht darin, sich zu transformieren Html Dokumente und andere Ressourcen von a Website in eine interaktive visuelle Darstellung auf a Benutzer's Gerät.
Name und Umfang
Ein Browsermotor ist keine eigenständige Computer Programm aber ein kritisches Stück eines größeren Programms wie a Webbrowser, von denen der Begriff abgeleitet ist. (Das Wort "Motor"Ist eine Analogie zum Motor eines Autos.)
Neben "Browser -Engine" werden zwei andere Begriffe in Bezug auf verwandte Konzepte gemeinsam verwendet: "Layout -Engine" und "Rendering Engine".[1][2][3] In der Theorie, Layout und Rendering (oder "Malerei") könnte von getrennten Motoren behandelt werden. In der Praxis sind sie jedoch eng gekoppelt und selten getrennt betrachtet.
Zusätzlich zu Layout und Rendering erzwingt eine Browser -Engine die Sicherheitsrichtlinie Zwischen den Dokumenten übernimmt die Navigation durch Hyperlinks und Daten übermittelt durch Formenund implementiert die Dokumentobjektmodell (DOM) Datenstruktur der Seite ausgesetzt Skripte.
Ausführung JavaScript (JS) Code ist jedoch eine separate Angelegenheit, da jeder große Webbrowser a verwendet engagierter Motor dafür. Die JS -Sprache wurde ursprünglich für den Einsatz in Browsern erstellt, wird aber jetzt auch an anderer Stelle verwendet, sodass die Implementierung von JS -Motoren von Browser -Motoren entkoppelt wird. In einem Webbrowser arbeiten die beiden Motoren über die gemeinsame DOM -Datenstruktur zusammen.
Browser -Motoren werden neben Webbrowsern in anderen Arten von Programmen verwendet. E -Mail -Clients brauche sie zum Anzeigen HTML -E -Mail. Das Elektronengerüst, was von den beiden Motoren der betrieben wird Google Chrome Browser wurde verwendet, um viele zu erstellen Anwendungen.
Layout und Rendering
Das Layout einer Webseite wird normalerweise durch angegeben durch Cascading Style Sheets (CSS). Jedes Stilblatt ist eine Reihe von Regeln, die der Browser -Engine interpretiert. Zum Beispiel geben einige Regeln an Typografie Details wie z. Schriftart, Farbe und Textgröße. Die Engine kombiniert alle relevanten CSS -Regeln, um präzise grafische Koordinaten für die visuelle Darstellung zu berechnen, die auf dem Bildschirm malt wird.[1]
Einige Motoren können beginnen, bevor alle Ressourcen einer Seite heruntergeladen werden. Dies kann zu visuellen Änderungen führen, wenn mehr Daten empfangen werden, z. B. Bilder, die allmählich in oder a Blitz unstylierter Inhalte.
Bemerkenswerte Motoren
- Apfel erstellt die Webkit Motor für seine Safari Browser von Gabel das Khtml Motor des Kde Projekt.[4] Alle Browser für iOS Muss Webkit als Motor verwenden.[5]
- Google ursprünglich verwendet Webkit für seine Chrom Browser, aber schließlich gabt es, um die zu erstellen Blinken Motor.[6] Alle Chrom-Basierte Browser verwenden Blink wie auch Anwendungen gebaut mit CEF, Elektron, oder irgend ein anderer Rahmen Das bettet Chrom.
- Microsoft hat zwei proprietär Motoren, MSHTML und EdHtml. MSHTML wird in der verwendet Internet Explorer Browser. Edhtml war der ursprüngliche Motor der Rand Browser, aber das wurde mit dem Blink -Motor neu gemacht.[7] Edhtml wird in einigen immer noch verwendet Universelle Windows -Plattform -Apps.[8]
- Mozilla entwickelt die Gecko Motor für seine Feuerfuchs Browser, der Thunderbird E -Mail -Client und die Seeaffe Internet Suite.[2]
Zeitleiste
Nur die Dauer der aktiven Entwicklung wird gezeigt, wenn relevant neu ist Webstandards weiter in den Motor hinzugefügt werden.
Verweise
- ^ a b "Hinter den Kulissen moderner Webbrowser". Tali Garsiel. Abgerufen 21. April 2018.
- ^ a b "Gecko". Mozilla. Archiviert von das Original am 4. Juni 2014. Abgerufen 21. April 2018.
- ^ "GOANANE vorstellen". M.C. Straver. 22. Juni 2015. Abgerufen 21. April 2018.
- ^ Paul Festa (14. Januar 2003). "Apple Snub Stings Mozilla". CNET -Netzwerke. Archiviert von das Original am 25. Oktober 2012. Abgerufen 16. Februar 2017.
- ^ "Open-Sourcing Chrome auf iOS!". 2017. Abgerufen 26. April 2021.
- ^ Bright, Peter (3. April 2013). "Google geht seinen eigenen Weg, webkit Rendering Engine". ". ARS Technica. Conde nast. Abgerufen 9. März 2017.
- ^ Mackie, Kurt (10. Dezember 2018). "Microsoft Edge Browser, um eine neue Rendering -Engine zu erhalten, aber EdgeHtml setzt fort.". Redmond Mag. Abgerufen 21. Dezember 2019.
- ^ Mendelevich, Alan (14. Mai 2021), Sie denken, Sie können die "Legacy" Microsoft Edge vergessen? Nicht so schnell!, Mittel