WebKit
出典: フリー百科事典『ウィキペディア(Wikipedia)』
| WebKit | |
|---|---|
| 開発元 | Apple Inc., Trolltech, Nokia, Adobe, Google, 他 |
| 対応OS | クロスプラットホーム |
| 種別 | アプリケーションフレームワーク |
| ライセンス | LGPL/BSD-style |
| 公式サイト | http://webkit.org/ |
WebKit(ウェブキット)はアップルが中心となって開発されているオープンソースのHTMLレンダリングエンジン群の総称である。HTML、CSS、JavaScript、SVGなどを解釈する。
WebKitは元々Mac OS Xに搭載されるSafariのために開発され、現在はその他の多くのプラットフォームに移植されている。
WebKitのWebCoreおよびJavaScriptCoreライブラリはGNU Lesser General Public License (LGPL) で、その他の部分は修正BSDライセンスで利用可能である[1]。
目次 |
[編集] 歴史
[編集] 起源
WebKitはKHTMLを基にしたHTMLパーザかつレンダラであるWebCoreと、KJSを基にしたJavaScriptエンジンであるJavaScriptCoreを下位ライブラリとして含む。両方のライブラリともパフォーマンス向上やWebサイトの表示の改善、Web標準へのさらなる準拠のために、基となったKDEの実装からかなりの修正が加えられている。
[編集] 開発・オープンソース化
Mac OS X v10.3以降に搭載されているMac OS X標準のWebブラウザ、Safariの基礎を成している。プログラマは僅かな作業でその機能を外部アプリケーションから利用できる。Objective-CからWebKitのAPIにアクセスすることでWebサーバとの通信、Webページの取得および表示、外部プラグインの利用などを扱うことができる。
2005年6月7日、Safariの開発者Dave Hyattは自身のブログ上でアップルがWebKitをオープンソース化し(それまではWebCoreとJavaScriptCoreのみがオープンソースであった)、CVSとBugzillaへのアクセスを公開することを発表した[2]。これに関してはBertrand SerletがAppleのWWDC 2005にて初めて公式発表を行っている。また、2006年1月10日にCVSからSubversionに移行した。
2007年初めにはアニメーションなどを含む新たなCSS拡張の実装に着手した[3]。これらの拡張は標準化のため2009年にW3Cにワーキングドラフトとして提出された[4]。
2007年11月には、HTML 5のメディア機能のサポートを達成したことが発表された[5]。HTML 5に対応したWebkitでは、組み込み動画のネイティブ描画とスクリプトコントロールが可能である。
2008年3月26日、WebKit r31356(最初のスコア100はr31342)が、世界で最初に公開されたAcid3(Web標準)準拠の指標の一つ)に合格したレンダリングエンジンとなった[6]。2008年9月25日、スムーズなアニメーションを含め、Acid3を完全にパスしたと発表された[7]。
[編集] 移植
当初Mac OS Xのために開発されたため、WebKitを使用したウェブブラウザはMac OS X専用のものが多かったが、アップル自身がWindows版のSafariの開発にも用いている。また、WebKitを初めてWindows環境に移植したSwiftというブラウザが以前開発されていた。
最近ではWebKitはMac OS X以外のプラットフォームでも活用され始めている。
- Nokiaは、自社のSymbian OS上のインターフェース環境S60 3rd Editionのブラウザ用に、WebKitをS60に移植した (S60 WebKit)[8]。
- Adobeは、Flash、Flex、HTML、JavaScript、Ajaxの技術を用いて、高度なインターネットアプリケーションを構築するクロスプラットフォームなランタイムであるAIR(コードネームApollo)において、HTMLやJavaScriptを処理するエンジンとしてWebKitを採用している[9]。また、Adobe Dreamweaver CS4での採用が発表された[10]。
- Googleは、Google Chromeや携帯電話プラットフォームAndroidで採用している[11]。
- WebKit/GTK+は、GTK+向けのポート。様々なWebブラウザやメールクライアント等で利用されている[12]。
- Windows向けのウェブブラウザであるLunascapeは、バージョン5.0αから、WebKitを選択可能なエンジンの一つとして搭載。
- Iris Browserは、Touch MobileによるWebKitをベースにした、QTとQtopia、Windows Mobile向けブラウザ。1.0.5PreviewよりWindows Mobile 5もサポートされた[13]。
[編集] コンポーネント
[編集] WebCore
WebCoreは、WebKitプロジェクトにより開発された、HTMLおよびSVGのレイアウト、レンダリング、Document Object Model (DOM) ライブラリである。WebCoreの完全なソースコードはLGPLで公開されている。WebKitフレームワークはWebCoreおよびJavaScriptCoreをラップし、C++ベースのWebCoreレンダリングエンジンおよびJavaScriptCoreスクリプトエンジンにObjective-C application programming interface (API) を提供することにより、Cocoa APIベースのアプリケーションから容易に参照することを可能にしている。より最近のバージョンはクロスプラットフォームのC++プラットフォーム抽象化を含んでおり、また様々なportは追加APIを提供している。
[編集] JavaScriptCore
JavaScriptCoreは、WebKitの実装にJavaScriptエンジンを提供するフレームワークであり、またMac OS Xのその他の場面で使用される同様のスクリプティングを提供する[14][15]。JavaScriptCoreはKDE's JavaScript engine (KJS) ライブラリおよびPerl Compatible Regular Expressions (PCRE) 正規表現ライブラリに由来している。KJSおよびPCREからフォークされてから、JavaScriptCoreは多くの新機能について改良がなされ、パフォーマンスも大幅に向上している[16]。
2008年6月2日、発表時点で従来より1.6倍の高速化を果たした、新たなJavaScriptCoreとしてバイトコードインタプリタVM[17]のSquirrelFishが発表された[18]。また、9月18日には、SquirrelFishよりおよそ2倍の高速化を果たしたSquirrelFish Extreme (SFX) が発表された[19]。
[編集] Drosera
DroseraはWebKitのナイトリービルドに含まれていたJavaScriptデバッガーである[20][21]。Droseraの名は食虫植物(つまりバグを食べる)のモウセンゴケ属の学名から付けられた。DroseraはWeb Inscpectorに含まれるデバッギング機能によって置き換えられている[22]。
[編集] SunSpider
SunSpiderは、現在および近い将来に想定されるJavaScriptの使用(画面描画、暗号化、テキスト操作など)に関連するタスクのJavaScriptパフォーマンスを測定する目的で作られたベンチマークスイートである[23] The suite further attempts to be balanced and statistically sound.[24]。
SunSpiderはアップルのWebKitチームによって2007年12月にリリースされた[25]。SunSpiderは広く受け入れられ[26]、他のブラウザーの開発者もブラウザー間のJavaScriptパフォーマンスを比較するため使用している[27]。
[編集] WebKitを使用するソフトウェア
[編集] ウェブブラウザ
- クロスプラットフォーム
- Mac OS XおよびWindows向け
- Mac OS X向け
- Windows向け
- Google Chrome
- Swift (for Windows)
- Lunascape(5.0α以降)
- SRWare Iron
- ChromePlus
- QtWeb
- UNIX系OS向け
- Epiphany(GNOMEデフォルト)
- rekonq
- Google Chrome
- モバイル向け
- Iris Browser (for Windows Mobile 5/6)
[編集] その他のソフトウェア
- Mac OS XおよびWindows向け
- iTunes
- AIR
- Dreamweaver CS4 - Webオーサリングソフト
- Mac OS X向け
- モバイル向け
- Android - Googleの提唱する携帯電話用プラットフォーム
- iPhone - OS Xに内包され、SafariやMail等で利用されている
- Palm WebOS-Palm社のAccess Linux Platform (ALP)をベースとした携帯電話用プラットフォーム
[編集] 脚注
- ^ Apple Inc.. "Open Source - Internet & Web - WebKit" (英語). 2009年10月8日 閲覧。
- ^ http://weblogs.mozillazine.org/hyatt/archives/2005_06.html#008281
- ^ CSS Transforms
- ^ CSS3 Animations
- ^ HTML5 Media Support by Antti Koivisto, Surfin' Safari blog, November 12th, 2007
- ^ WebKit achieves Acid3 100/100 in public build
- ^ Full Pass of Acid3
- ^ http://www.nokia.co.jp/about/release_060524.shtml ノキア、'Web Browser for S60'エンジンのコードをオープンソース・コミュニティに公開
- ^ Adobe Integrated Runtime(AIR)
- ^ Adobe Dreamweaver CS3 10 周年記念イベント レポート
- ^ What is Android?
- ^ WebKitGtk - GNOME Live!
- ^ Touch Mobile
- ^ The WebKit Open Source Project – JavaScript
- ^ KDE-Darwin mailing list, "JavaScriptCore, Apple’s JavaScript framework based on KJS", 13 June 2002.
- ^ "The Great Browser JavaScript Showdown" (2007-12-19). 2009年10月8日 閲覧。
- ^ SquirrelFish – WebKit – Trac
- ^ Surfin’ Safari - Blog Archive » Announcing SquirrelFish
- ^ Introducing SquirrelFish Extreme
- ^ WebKit.org Drosera wiki article
- ^ "Introducing Drosera". Surfin’ Safari. 2009年10月8日 閲覧。
- ^ "Commit removing Drosera". 2009年10月8日 閲覧。
- ^ Muchmore, Michael (2008-06-18). “Review: Firefox 3 Stays Ahead of Browser Pack” 2008-09-06 閲覧。
- ^ "SunSpider JavaScript Benchmark". 2008-09-06 閲覧。
- ^ "Announcing SunSpider 0.9" (2007-12-18). 2008-09-06 閲覧。
- ^ Atwood, Jeff (2007-12-19). "The Great Browser JavaScript Showdown". 2008-09-06 閲覧。
- ^ Resig, John (2008-09-03). "JavaScript Performance Rundown". 2008-06-09 閲覧。
[編集] 関連項目
[編集] 外部リンク
|
||||||||||||||||||||
|
||||||||||||||