WebKit
aus Wikipedia, der freien Enzyklopädie
| WebKit | |
|---|---|
| Entwickler: | Apple, Nokia, Adobe, Google, andere. |
| Betriebssystem: | Plattformunabhängig |
| Programmiersprache: | C++, Objective-C |
| Kategorie: | Engine-Bibliothek |
| Lizenz: | teils LGPL, teils BSD-Lizenz (Freie Software) |
| Deutschsprachig: | nein |
| webkit.org | |
WebKit ist eine freie HTML-Rendering-Bibliothek, auf deren Grundlage ein Webbrowser gebaut werden kann. WebKit ist eine von der Firma Apple weiterentwickelte Abspaltung der HTML-Engine KHTML und der JavaScript-Implementation KJS, die die Grundlage für den Mac-OS-X-Webbrowser Safari bildet. Sie wird mittlerweile von Apple, Nokia, Google und anderen weiter entwickelt.
Obwohl WebKit in Trolltechs Qt 4.4 enthalten ist[1], stammt die Grundlage von KDE. Die Bibliothek besteht aus den Komponenten WebCore (der für die HTML-Darstellung zuständigen Bibliothek) und dem JavaScript-Parser JavaScriptCore. Der komplette Quelltext ist Open Source und steht teils unter LGPL, teils unter BSD-Lizenz.
Inhaltsverzeichnis |
[Bearbeiten] Komponenten
[Bearbeiten] WebCore
ist eine Layout-, DOM- und Rendering-Bibliothek für CSS und SVG, die von KHTML abgespalten wurde.
Es besteht den Acid2-Test und seit September 2008 in den Entwicklungsversionen als erste HTML-Rendering-Engine auch den Acid3-Test, mit auf den Pixel perfektem und auf Referenzhardware flüssigem Rendering.[2]
[Bearbeiten] JavaScriptCore
Als Abspaltung von KJS arbeitet JavaScriptCore als (Quelltext-)Interpreter. Zur Beschleunigung der Ausführungsgeschwindigkeit wurde es zunächst zu SquirrelFish weiterentwickelt, das den JavaScript-Code vor der Ausführung in Bytecode übersetzt (Bytecode-Interpreter), und weiter zu SquirrelFish Extreme (kurz SFX), welches direkt zu Maschinensprache kompiliert (Just-in-time-Kompilierung). SquirrelFish Extreme unterstützte anfangs nur x86-Architekturen und seit Ende Januar 2009 wird es auch für AMD64 eingesetzt.[3]
[Bearbeiten] Drosera
Drosera ist ein Debugger für JavaScript-Code. Er wurde nach dem lateinischen Namen für den Sonnentau (einer fleischfressenden Pflanze) benannt.
[Bearbeiten] SunSpider
SunSpider ist eine Benchmark-Suite zum Testen der Geschwindigkeit von JavaScript-Implementationen.
[Bearbeiten] Geschichte
WebKit entstand aus der HTML-Engine KHTML und der JavaScript-Engine KJS des KDE-Projekts: Apple hatte eine Abspaltung der Engines erstellt und diese weiter entwickelt. Apple benötigte damals eine eigene HTML- und JavaScript-Engine für seine Softwareprodukte und entschied sich für KHTML und das Schwesterprojekt KJS, da der Code als übersichtlicher und strukturierter galt als der des damaligen Mozilla-Projektes. Apple portierte die Quellen des KDE-Projekts auf Mac OS X und benannte diese in WebCore und JavaScriptCore um.
2003 wurde das Projekt offiziell bekannt gemacht und die Quellen gemäß der Lizenzen der KHTML- und KJS-Projekte freigegeben. Doch stieß die Art der Weitergabe und Veröffentlichung des veränderten Codes auf Kritik: Die KDE-Entwickler warfen Apple vor, Änderungen nur in großen, schwer zu überblickenden Paketen bereitzustellen; dies mache eine Übernahme von Code schwierig, wodurch sich die Projekte mehr und mehr voneinander entfernten.
Im Juni 2005 versprach Dave Hyatt von Apple, den Entwicklungsprozess zu öffnen und alle Quellen von WebKit in einem CVS-Baum bereitzustellen. Daraufhin kündigte Nokia einen Browser auf dieser Basis an, und Adobe gab bekannt, dass auch die Adobe Integrated Runtime WebKit integriere.
Im September 2009 haben die Entwickler damit begonnen, in WebKit 3D-Funktionen zu integrieren. Diese 3D-Funktionen werden zum Teil mit der freien JavaScript-Schnittstelle WebGL realisiert, die ihrerseits auf bereits entwickelten Funktionen von OpenGL aufbaut.[4][5]
Seit Google entschied, seinen neuen Webbrowser Chrome auf WebKit (bzw. WebCore – es wird eine eigene JavaScript-Implementation verwendet) aufzubauen, arbeitet auch Google an der Weiterentwicklung von WebKit.
[Bearbeiten] Verwendung
WebKit ist seit Version 10.3 Teil des Betriebssystems Mac OS X. Hauptsächlich wird es im Browser Safari verwendet, aber auch in der Hilfe-Funktion und in der HTML-Darstellung in TextEdit und Mail.
Weiter bildet WebKit die Grundlage für die Browser Google Chrome[6], Omniweb, Shiira, iCab, Adobe AIR, und Midori. Mit Google Chrome, Arora, Dooble und Safari gibt es inzwischen auch Anwender von WebKit unter Windows. Die gerade in Entwicklung befindliche dritte Version des Browsers Maxthon setzt es ebenfalls ein[7].
Auch bei den Browsern mobiler Endgeräte spielt WebKit eine große Rolle: So setzt ABrowse es seit Juli 2007 für das Betriebssystem Syllable als Basis anstelle des zuvor verwendeten KHTML ein. Das freie Smartphone-Betriebssystem Openmoko, der Palm Pré und Android, Googles Softwareprojekt für mobile Systeme[8], verwenden WebKit. Hinzu kommen das iPhone von Apple und Nokias S60-Serie.
Die französische Firma Pleyo bietet mit ihrem Origyn Web Browser (OWB) einen auf WebKit basierenden Browser unter BSD- oder LGPL-Lizenz für Unterhaltungselektronik (zum Beispiel Mobilgeräte, Set-Top-Boxen) wie das Nokia N800 oder AmigaOS an.
Die HTML-Inhalte darstellenden Programme der freien Desktop-Umgebung GNOME, unter anderen der Standard-Browser Epiphany, sind ebenfalls seit Version 2.28 auf WebKit umgestellt.
Im KDE-Projekt gibt es Überlegungen, in KDE 4 ebenfalls WebKit statt KHTML/KJS zu verwenden. Eine Integration von QtWebKit in KDE wird momentan (2008) entwickelt[9]; die voreingestellte Engine wird jedoch vorerst KHTML bleiben.
[Bearbeiten] Siehe auch
- Gecko Rendering Engine
- Presto, Rendering Engine von Opera
- Trident (Software), die Layout-Engine des Internet Explorer
[Bearbeiten] Weblinks
- The WebKit Open Source Project (englisch) – Offizielle Website
- AmigaOS 4: Origyn Web Browser (Alpha) – Artikel bei amiga-news, vom 24. Dezember 2007
- Introduction to WebKit Objective-C Programming Guide (englisch) – Artikel bei Mac Dev Center, vom 28. Juli 2009
- S60WebKit (englisch) – Artikel beim Nokia Research Center
[Bearbeiten] Einzelnachweise
- ↑ WebKit (englisch) – Artikel bei den Qt Labs Blogs, vom 25. August 2009
- ↑ http://webkit.org/blog/280/full-pass-of-acid-3/
- ↑ https://trac.webkit.org/changeset/40439
- ↑ Browser-Engine WebKit mit 3D-Fähigkeiten – Artikel bei heise online, vom 14. September 2009
- ↑ Webkit lernt WebGL – Artikel bei Golem.de, vom 14. September 2009
- ↑ A fresh take on the browser (englisch) – Artikel beim Official Google Blog, vom 1. September 2008
- ↑ How to add Maxthon's port (englisch) – Kommentar beim webkit-dev, vom 29. Juni 2009
- ↑ What is Android? (englisch) – Artikel bei Android Developers
- ↑ Integration of the QtWebKit based KPart (englisch) – Artikel bei Google Code