Navigation


WebKit

26.05.2012 @ 19:33, Bus1110,

{{Infobox Software
|Logo =
|Screenshot =
|Beschreibung =
|Hersteller = Apple, KDE, Nokia, Adobe, Google und andere
|AktuelleVersion =
|AktuelleVersionFreigabeDatum =
|AktuelleVorabVersion =
|AktuelleVorabVersionFreigabeDatum =
|Betriebssystem = Plattformunabhängig
|Programmiersprache = C++, Objective-C
|Kategorie = HTML-Rendering-Bibliothek
|Lizenz = teils LGPL, teils BSD-Lizenz
|Deutsch = nein
|Website = [http://webkit.org/ webkit.org]

}}

WebKit ist eine freie HTML-Rendering-Engine, mit deren Hilfe Webseiten in Webbrowsern dargestellt werden. WebKit ist eine vom Unternehmen Apple weiterentwickelte Abspaltung von KHTML und der JavaScript-Implementierung KJS, das die Grundlage für den Mac-OS-X-Webbrowser Safari bildet. Sie wird mittlerweile von Apple, Nokia, Google und anderen weiterentwickelt.

Obwohl WebKit in Trolltechs Qt 4.4 enthalten ist,[http://labs.trolltech.com/blogs/category/labs/internet/webkit/ WebKit] (englisch) – Artikel bei den Qt Labs Blogs, vom 25. August 2009 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 quelloffen und steht teils unter LGPL, teils unter BSD-Lizenz.

Komponenten


WebCore


WebCore ist eine Layout-, DOM- und Render-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 pixelweise exaktem und auf Referenzhardware flüssigem Rendering.http://webkit.org/blog/280/full-pass-of-acid-3/

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, seit Ende Januar 2009 ist es jedoch auch für AMD64 verfügbar.https://trac.webkit.org/changeset/40439

Drosera


Drosera ist ein Debugger für JavaScript-Code. Er wurde nach dem lateinischen Namen für die fleischfressende Pflanze Sonnentau benannt.

SunSpider


SunSpider ist eine Benchmark-Suite zum Testen der Geschwindigkeit von JavaScript-Implementierungen.

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 weiterentwickelt. 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 begannen die Entwickler damit, 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.[http://www.heise.de/newsticker/meldung/145270 Browser-Engine WebKit mit 3D-Fähigkeiten] – Artikel bei heise online, vom 14. September 2009[http://www.golem.de/0909/69807.html Webkit lernt WebGL] – Artikel bei Golem.de, vom 14. September 2009

Seit Google entschied, seinen neuen Webbrowser Chrome auf dem WebKit-Bestandteil WebCore aufzubauen (daneben wird eine eigene JavaScript-Implementierung verwendet), arbeitet auch Google an der Weiterentwicklung von WebKit.

Im April 2010 wurde Webkit2 vorgestellt. Dabei handelt es sich um eine von Grund auf neu entworfene Version, bei der das Rendering (u.a. von HTML, JavaScript, CSS) in einem anderen Prozess abläuft als die Programmoberfläche.[https://lists.webkit.org/pipermail/webkit-dev/2010-April/012235.html Ankündigung von Webkit2 auf der webkit-dev]-Mailingliste am 8. April 2010

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, SRWare Iron,[http://googleblog.blogspot.com/2008/09/fresh-take-on-browser.html A fresh take on the browser] (englisch) – Artikel beim Official Google Blog, vom 1. September 2008 OmniWeb, Shiira, iCab und Midori (bei Midori allerdings in der Variante WebKitGTK+, da Midori in C geschrieben ist). Mit Google Chrome, Midori, Arora, Dooble und Safari gibt es inzwischen auch Anwender von WebKit unter Windows. Auch der Browser Lunascape, der auf mehrere Rendering-Engines zurückgreift, kann WebKit verwenden. Die dritte Version des Browsers Maxthon setzt es ebenfalls ein.[https://lists.webkit.org/pipermail/webkit-dev/2009-June/008609.html How to add Maxthon's port] (englisch) – bei webkit-dev, vom 29. Juni 2009

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 und Android, Googles Softwareprojekt für mobile Systeme,[http://code.google.com/android/what-is-android.html What is Android?] (englisch) – bei Android Developers verwenden WebKit. Außerdem ist WebKit integraler Bestandteil des Mobilbetriebssystems HP webOS (früher Palm) für Smartphones und Tablets und dient dort der Darstellung der Benutzeroberfläche. Hinzu kommen iPhone/iPodTouch/iPad von Apple und Nokias S60-Serie. Im August 2010 hat RIM die Benutzung von WebKit angekündigt.[http://www.heise.de/mobil/meldung/RIM-kuendigt-BlackBerry-Torch-9800-mit-Touchscreen-und-Tastatur-an-1050067.html RIM kündigt BlackBerry Torch 9800 mit Touchscreen und Tastatur an] – Artikel bei heise online, vom 3. August 2010

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.[http://library.gnome.org/misc/release-notes/2.28/ Versionshinweise GNOME 2.28] Zahlreiche GTK-basierte Programme, die teils ebenfalls zum GNOME-Projekt gehören, werden ebenfalls umgestellt.[http://trac.webkit.org/wiki/ApplicationsGtk Applications using WebKit/GTK+]

Seit der KDE Software Compilation 4.5 ist es möglich, WebKit aus den Extra-Gear-Quellen zu installieren und im Standard-Browser Konqueror als Alternative zu KHTML auszuwählen.[http://www.kde.org/announcements/4.5/platform.php KDE Software Compilation 4.5 Release Announcement] Der neu geschriebene schlanke Browser Rekonq baut direkt auf WebKit auf. Die Distribution Kubuntu nutzt seit Maverick Merekat 10.10 Rekonq als Standardbrowser.

Seit seinem großen Interface-Update 2010 benutzt die Computerspiel-Vertriebsplattform Steam WebKit als HTML-Renderingengine.[http://store.steampowered.com/news/3501/ STEAM UPDATE ANNOUNCED — PUBLIC BETA OPEN NOW] (englisch) - Offizielle Pressemitteilung vom 23. Februar 2010

Das Kommandozeilen-Werkzeug [http://code.google.com/p/wkhtmltopdf/ wkhtmltopdf] benutzt WebKit zum Rendern von HTML-Dokumenten, um diese dann im PDF-Format zu speichern.

Siehe auch


* Gecko Rendering Engine, die Rendering-Engine vom Mozilla Firefox
* Presto, die Rendering-Engine von Opera

* Trident, die Rendering-Engine des Internet Explorer

Weblinks


* [http://www.webkit.org/ The WebKit Open Source Project] (englisch) – Offizielle Website

* [http://developer.apple.com/documentation/Cocoa/Conceptual/DisplayWebContent/ Introduction to WebKit Objective-C Programming Guide] (englisch)

Einzelnachweise


{{DEFAULTSORT:Webkit}}
Kategorie:Web-Entwicklung
Kategorie:Programmiersprache Objective-C
Kategorie:ECMAScript

Kategorie:Freie Software

ar:ويب كيت
cs:WebKit
WebKit
es:WebKit
fa:وب‌کیت
fi:WebKit
WebKit
hu:WebKit
id:WebKit
it:WebKit
ja:WebKit
ko:웹키트
nl:WebKit
pl:WebKit
pt:WebKit
ru:WebKit
simple:WebKit
sv:Webkit
th:เว็บคิต
tr:WebKit
uk:WebKit
vi:WebKit
zh:WebKit

weiter

Text und Bilder dieses Beitrags stammen aus dem Artikel WebKit der freien Enzyklopädie Wikipedia und stehen unter der GNU Free Documentation License. Die Liste der Autoren ist in der Wikipedia unter dieser Seite verfügbar, der Original-Artikel lässt sich hier bearbeiten.