WebKit
# WebKit

WebKit est une bibliothèque logicielle libre permettant aux développeurs d'intégrer facilement un moteur de rendu de pages Web dans leurs logiciels. Elle est disponible sous licence BSD et GNU LGPL. Originellement réservée au système d'exploitation Mac OS X (à partir de la version 10.3 Panther), elle a été portée vers Linux et Windows. Ainsi les portages de WebKit pour les environnements GTK+ et Qt se nomment respectivement WebKitGTK+ et QtWebKit.

WebKit est un fork du moteur de rendu KHTML du projet KDE utilisé notamment dans le navigateur Konqueror. Elle intègre deux sous-bibliothèques : WebCore et JavaScriptCore correspondant respectivement à KHTML et KJS.

Il passe avec succès le test Acid2 et la version en développement obtient 100 % au test Acid3 depuis le 27 mars 2008.

Webkit intégrait un moteur JavaScript qui portait le même nom. Il a depuis été réécrit, le nouveau moteur s'appelle désormais SquirrelFish, beaucoup plus rapide que le précédent.

En février 2012, le succès de diffusion de WebKit amène « le groupe OpenWeb, prônant la standardisation des technologies de développement web, à lancer un appel aux développeurs et à pointer les conséquences de la dominance de WebKit sur le mobile et des pratiques des développeurs ». En janvier 2013, la position dominante de Webkit pose encore problème.

## Utilisation

La principale utilisation de WebKit est la création de navigateurs Web :

* Safari - Le premier navigateur fondé sur WebKit d'Apple ;
* Konqueror - Le navigateur fondé sur KHTML propose WebKit depuis sa version 4.1 ;
* Web - Le navigateur du bureau GNOME, qui repose sur WebKit depuis sa version 2.28 ;
* Android - Le navigateur par défaut du système d'exploitation (remplacé par Chrome depuis la version 4.4) ;
* OmniWeb - Un navigateur Web produit par Omni Group pour Mac OS X ;
* Shiira - Un navigateur libre dont le but était de "combler les lacunes" de Safari ;
* Midori - Un navigateur léger intégré à GTK+ ;
* Arora - Un navigateur multiplate-forme fondé sur Qt4 ;
* Falkon - Un navigateur multiplate-forme ;
* Webster - Navigateur qui sera utilisé par Syllable 0.6.6 ;
* SunriseBrowser ;
* DeskBrowse ;
* Le navigateur Web du S60 de Nokia - Version fondée sur Symbian OS ;
* Maxthon - Dans sa version 3.0, le navigateur Web Maxthon utilise WebKit par défaut.
* Samsung Mobile Browser - Un navigateur Web intégré dans les téléphones mobiles Samsung.
* Rekonq - Un navigateur fondé sur la plateforme KDE
* Uzbl - Un navigateur graphique extrêmement léger dont le nom est la compression du terme anglais "usable"
* Jumanji - Un navigateur graphique très léger qui ressemble à Uzbl
* OWB - Origyn Web Browser utilise une version modifiée de Webkit.
* Qutebrowser - Un navigateur orienté clavier "à la vim" basé sur Python, Qt, WebKit.
* Le navigateur des consoles PS Vita, PS3, PS4.

Il est aussi utilisé par des logiciels de création de site Web :

* Flux - Logiciel de création de sites Web permettant de réaliser des CSS en WYSIWYG ;
* iWeb - Logiciel de création de sites Web développé par Apple et inclus dans la suite iLife depuis la version '06 ;
* RapidWeaver - Un logiciel de création de sites Web simple d'utilisation et respectant les standards W3C ;
* Sandvox - Un logiciel de création de sites Web simple d'utilisation et respectant les standards W3C ;
* Adobe Integrated Runtime - Un éditeur de site Web pour fonctionner en local.
* « Tekora - Mobile websites made easy !- Accueil »: Une plateforme d'édition de site Web mobile en SaaS.
* PhantomJS Navigateur "headless"

D'autres types de logiciels l'utilisent aussi.

* Mail - Le logiciel de courrier de Mac OS X ;
* Dashboard - Le logiciel de widgets de Mac OS X ;
* TextMate - Un éditeur de texte ;
* Yelp - Un logiciel pour lire la documentation sous Gnome ;
* Liferea - Un lecteur de flux RSS ;
* CSSEdit - Un logiciel d'édition de feuilles de style CSS.
* Steam - Une plate-forme de distribution de contenu en ligne.

Les bibliothèques logicielles l'intégrant sont :

* Qt - Intégré à partir de la version 4.4. de la bibliothèque multiplate-forme Qt4 (voir QtWebKit) ;
* GTK+ - La bibliothèque multiplate-forme de GNOME (voir WebKitGTK+) ;
* wxWidgets - Une autre bibliothèque multiplate-forme ;
* SDL - La bibliothèque multiplate-forme de création de jeux vidéo ;
* Cocoa - La bibliothèque native du système d'exploitation développé par Apple ;
* Java - L'élément Swing JWebPane, permettant d'afficher du contenu Web, pas encore disponible à l'heure actuelle. Le composant WebView de JavaFX l'intègre.

Anciennes utilisations de WebKit :

* Google Chrome, jusqu'à 2013 ;
* Opera, jusqu'à 2015.

## Historique

* 7 janvier 2003 : Apple annonce WebKit à la Macworld Expo avec le lancement du navigateur Web Safari.
* Le 7 juin 2005, Dave Hyatt le développeur de Safari annonce sur son blog qu'Apple rend la totalité de WebKit open-source (avant seul Webcore et JavaScriptCore l'étaient). Le code source a été placé sous CVS et le logiciel de rapport de bug Bugzilla a été mis en place.
* Le 13 juin 2005, Nokia a annoncé qu'il était en train de développer un navigateur fondé sur WebKit pour sa gamme S60.
* Le 15 décembre 2005, le support du Scalable Vector Graphics (SVG) est intégré au build (en) standard.
* Le 10 janvier 2006, le code source de WebKit a été transféré de CVS à Subversion.
* Le 11 juin 2007 lors d'un discours d'ouverture à San Francisco, Steve Jobs annonce officiellement le port de WebKit vers Windows.
* En 2008, Adobe l'intègre dans AIR et Trolltech l'intègre dans Qt 4.4.
* Le 3 avril 2013, Google annonce un fork sous le nom de Blink.

## Voir Aussi

* Moteur de rendu HTML
* Gecko (moteur de rendu)
* Trident (moteur de rendu)
* Blink (moteur de rendu) de Chromium
* Servo (moteur de rendu)
* Liste de navigateurs web
