WebKit とは、Webページを表示する為のフレームワークである。
HTTPを用いてWebページを読み込む機能や、画面にHTMLをレンダリングして描画する機能、
アプリケーションとのインターフェイスを提供する機能などが含まれている。
WebKit は、Safariのレンダリングエンジンである
KHTMLとKJSというオープンソースライブラリをベースに開発されている。
KHTMLとKJSは、KDEプロジェクトによって開発されたクロスプラットフォームのライブラリであり、それぞれHTMLのレンダリングとJavaScriptの実行を実現している。
WebKitでは、これらのライブラリをポーティングし、WebCoreとJavaScriptCoreというWebKit内部のサブフレームワークとして実装している。
KHTMLとKJSはオープンソースのプロジェクトである為、
それらをベースにしているWebKitもソースコードが公開されている。
これは、WebCoreの問題を外部のプログラマが発見することができる為、非常に大きな利点と言える。
2011年度時点でのソースコード管理リポジトリを下記に記す。
ソースコードは全体で約180万ロジックあり、大半がC++言語とIDL(Interface Definition Language)で記述されている。
WebKitの用途は、アプリケーションでWebページを表示することである。
例えば、HTMLで記述されたマニュアルなどの文書を、アプリケーション内で表示することが可能になる。勿論、Webブラウザアプリケーションを作ることも可能である。
但し、HTMLレンダリングに関してはSafariと全く同じものになるが、
HTMLの描画機能以外でWebブラウザに必要な機能、
例えばブックマーク機能や、URLを入力する際の補完機能などは
アプリケーション側で実装しなければならない。
参考
How browsers work
W3C