WebKitとは? わかりやすく解説

WebKit

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2024/12/18 06:22 UTC 版)

WebKit
開発元 AppleKDEノキア[1]
最新評価版
Nightly[2]
リポジトリ
対応OS クロスプラットフォーム
対応言語 C++
サポート状況 開発中
種別 レンダリングエンジン
ライセンス LGPL / BSD-style
公式サイト webkit.org
テンプレートを表示

WebKit(ウェブキット)は、Appleが中心となって開発しているオープンソースHTMLレンダリングエンジン群の総称である。HTMLCSSJavaScriptSVGMathMLなどを解釈する。

WebKitは、元々AppleのmacOSに搭載されるSafariレンダリングエンジンとして、LinuxBSDといった、Unix系用のレンダリングエンジンであるKHTMLフォークして開発された。現在はその他の多くのプラットフォームに移植されている。

ライセンス

WebKitのWebCoreおよびJavaScriptCoreライブラリはGNU Lesser General Public License (LGPL) 、その他の部分は修正BSDライセンスで利用可能である[3]

歴史

WebKitは元々、macOSのウェブブラウザ "Safari" のレンダリングエンジンとして使用するため、LinuxやBSDといったUnix系用のブラウザ "Konqueror" のKHTMLソフトウェア・ライブラリを基にAppleによって作成され、現在までに、Apple、KDE、ノキア、Google、Torch Mobileなどによって改良が加えられた。

起源

LinuxやBSDなどのUnix系用ブラウザとして、1998年KDEプロジェクトHTMLレンダリングエンジン "KHTML" と KDE のJavaScriptエンジン (KJS) が開発された。その後、Appleが2002年にそれらをフォークしてWebKitを開発した。

WebKitはKHTMLをもとにしたHTMLパーザかつレンダラであるWebCoreと、KJSを基にしたJavaScriptエンジンであるJavaScriptCoreを下位ライブラリとして含む。

当初、KHTMLとKJSは、Mozillaプロジェクトによって同じくオープンソースで開発が進められていたGeckoエンジンの基本方針である高いWeb標準への準拠と競合しないよう、Internet Explorerとの高い互換を目指し開発が行われていた。

その後、WebKitでは両ライブラリともパフォーマンス向上やWebサイトの表示の改善、Web標準へのさらなる準拠のために、基となったKDEの実装からかなりの修正が加えられている。

開発・オープンソース化

Mac OS X v10.3以降に搭載されているmacOS標準のウェブブラウザ、Safariの基礎を成している。プログラマはわずかな作業でその機能を外部アプリケーションから利用できる。Objective-CからWebKitのAPIにアクセスすることでWebサーバとの通信、Webページの取得および表示、外部プラグインの利用などを扱うことができる。

2005年6月7日、Safariの開発者Dave Hyattは自身のブログ上でAppleがWebKitをオープンソース化し(それまではWebCoreとJavaScriptCoreのみがオープンソースであった)、CVSBugzillaへのアクセスを公開することを発表した[4]。これに関してはBertrand SerletがAppleのWWDC 2005にて初めて公式発表を行っている。また、2006年1月10日にCVSからSubversionに移行した。

2007年初めにはアニメーションなどを含む新たなCSS拡張の実装に着手した[5]。これらの拡張は標準化のため2009年にW3Cにワーキングドラフトとして提出された[6]

2007年11月には、HTML5のメディア機能のサポートを達成したことが発表された[7]。このHTML5に部分対応したWebKitでは、組み込み動画のネイティブ描画とスクリプトコントロールが可能である。

2008年3月26日、WebKit r31356(最初のスコア100はr31342)が、世界で最初に公開されたAcid3ウェブ標準準拠の指標の一つ)に合格したレンダリングエンジンとなった[8]。2008年9月25日、スムーズなアニメーションを含め、Acid3を完全にパスしたと発表された[9]

WebKit2

2010年4月8日分離プロセスモデルを採用したWebKit2[10]の開発が発表された[11]。WebKit2の採用例としては、AppleやTizenなどがある。WebKit2ではWebKitから大幅にAPIの仕様が変更されており、互換性が失われている。そのため「WebKit2」という新たな名称を採用し、従来のWebKitとは区別できるようにしている。

2011年7月21日にAppleがWebKit2エンジンであるSafari5.1を公開した[12]iOS向けのSafariでは、iOS 8よりWebKit2が採用された[13]

Blinkとの分裂

2013年4月3日、AppleとGoogleが開発方針をめぐって対立したことや、Chromiumを搭載した時期からWebKitエンジン自体が複雑化したことで開発の遅滞が問題視された。このことからGoogleはWebKitをBlinkにフォークさせる事を発表した。直前にChromiumへの参加という形でWebKit採用を発表していたOperaも、それに伴いBlink採用を表明する形となった。翌日の4月4日、AppleはV8の排除、JavaScriptCore以外の使用の排除、Skiaの排除、GoogleのビルドシステムGYPの排除などの計画を表明し[14]、WebKitはGoogleが直接使うエンジンではなくなった。しかし、Linux向けビルドも用意され、依然としてOSSでありSafari専用という訳ではない[15][16]

移植

当初macOSのために開発されたため、WebKitを使用したウェブブラウザはmacOS専用のものが多かったが、Google Chrome (同系統のChromiumも同様。ただしそれらは2013年4月以降はWebKitから分岐されたBlinkを使用) など、LinuxやWindows向けウェブブラウザにもWebKitを採用したものが出てきている。Apple自身もWindows版のSafariの開発にも用いている。最近ではWebKitはデスクトップにとどまらず、モバイルプラットフォームでも活用されている。

  • ノキアは、自社のSymbian OS上のインターフェース環境S60 3rd Editionのブラウザ用に、WebKitをS60に移植した (S60 WebKit)[17]
  • アドビは、FlashFlex、HTML、JavaScript、Ajaxの技術を用いて、高度なインターネットアプリケーションを構築するクロスプラットフォームランタイムであるAIR(コードネームApollo)において、HTMLやJavaScriptを処理するエンジンとしてWebKitを採用している[18]。また、Adobe Dreamweaver CS4での採用が発表された[19]
  • Googleは、Google ChromeAndroid標準ブラウザ(4.3以前)、携帯電話プラットフォームAndroidで採用している[20]
  • WebKit/GTK+は、GTK+(現・GTK)向けのポート。様々なWebブラウザやメールクライアント等で利用されている[21]
  • Windows向けのウェブブラウザであるLunascapeは、バージョン5.0αから、WebKitを選択可能なエンジンの一つとして搭載。
  • Iris Browserは、Torch MobileによるWebKitをベースにした、QTとQtopia、Windows Mobile向けブラウザ。1.0.5PreviewよりWindows Mobile 5もサポートされた[22]
  • Opera Softwareは、自社の独自路線を変更し、Webkitの採用を決めたことを発表していた[23]。ただし、前述の通りその後Blinkへ移行している。

コンポーネント

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エンジンを提供するフレームワークであり、またmacOSのその他の場面で使用される同様のスクリプティングを提供する[24][25]。JavaScriptCoreはKDE's JavaScript engine (KJS) ライブラリおよびPerl Compatible Regular Expressions (PCRE) 正規表現ライブラリに由来している。KJSおよびPCREからフォークされてから、JavaScriptCoreは多くの新機能について改良がなされ、パフォーマンスも大幅に向上している[26]

2008年6月2日、発表時点で従来より1.6倍の高速化を果たした、新たなJavaScriptCoreとしてバイトコードインタプリタVM[27]のSquirrelFishが発表された[28]。また、9月18日には、SquirrelFishよりおよそ2倍の高速化を果たしたSquirrelFish Extreme (SFX) が発表された[29]

Drosera

DroseraはWebKitのナイトリービルドに含まれていたJavaScriptデバッガーである[30][31]。Droseraの名は食虫植物(つまりバグを食べる)のモウセンゴケ属の学名から付けられた。DroseraはWeb Inspectorに含まれるデバッギング機能によって置き換えられている[32]

SunSpider

SunSpiderは、現在および近い将来に想定されるJavaScriptの使用(画面描画、暗号化、テキスト操作など)に関連するタスクのJavaScriptパフォーマンスを測定する目的で作られたベンチマークスイートである[33] The suite further attempts to be balanced and statistically sound.[34]

SunSpiderはAppleのWebKitチームによって2007年12月にリリースされた[35]。SunSpiderは広く受け入れられ[36]、他のブラウザーの開発者もブラウザー間のJavaScriptパフォーマンスを比較するため使用している[37]

WebKitを使用するソフトウェア

ウェブブラウザ

WebKit2

  • macOSおよびiOS向け

開発終了

Chromiumベース

その他のソフトウェア

  • macOSおよびWindows向け
  • macOS向け
    • メール - macOS付属のソフトウェア
    • Dashboard - macOS付属のソフトウェア環境
  • モバイル向け
    • Android - Googleの提唱する携帯電話用プラットフォーム
    • iOS - 内包され、SafariやMail等で利用されている
    • HP webOS - HPのAccess Linux Platform (ALP) をベースとした携帯電話用プラットフォーム
  • ChromeOS

バージョンの対応関係

Google Chrome は 28以降 Blink に移行したが、下記表は Blink を含まず、WebKit の対応表。

WebKit Safari Mobile Safari Google Chrome Android
Browser
Chrome for
Android
3DS New 3DS Wii U PS3 PS4 Vita
525 3.1, 3.2 3.1 0.4
528 4.0 1 1.5, 1.6  
530 4.0 - 4.0.2 2 2.0, 2.1
531 4.0.3 - 4.0.5 4.0.4 4.10 - 1.00 - 1.81
532 4.0.5 3, 4
533 4.1, 5.0 5.0.2 5 2.2, 2.3
534 5.1 5.1 6 - 12 3.0 - 4.2 2.0.0-2J - 9.5.0-22J 2.1.0J - 3.1.0J
535 13 - 18 16 - 18 9.5.0-23J -
536 6.0 6.0 19, 20 8.1.0-0J - 4.0.0J - 1.00 - 1.76 2.00 - 3.20
537 7.0 7.0 21 - 27 4.3 25 - 27 2.00 - 3.30 -

脚注

出典

  1. ^ Companies and Organizations that have contributed to WebKit” (英語). trac.webkit.org. 2010年4月15日閲覧。
  2. ^ WebKit Nightly Builds”. WebKit.org. April 3, 2016時点のオリジナルよりアーカイブMay 27, 2014閲覧。
  3. ^ Apple Inc.. “Open Source - Internet & Web - WebKit” (英語). 2009年10月8日閲覧。
  4. ^ http://weblogs.mozillazine.org/hyatt/archives/2005_06.html#008281
  5. ^ CSS Transforms
  6. ^ CSS3 Animations
  7. ^ HTML5 Media Support by Antti Koivisto, Surfin' Safari blog, November 12th, 2007
  8. ^ WebKit achieves Acid3 100/100 in public build
  9. ^ Full Pass of Acid3
  10. ^ WebKit2
  11. ^ [webkit-dev] Announcing WebKit2
  12. ^ “Apple、マルチプロセス採用の“WebKit2”を搭載した「Safari」v5.1を公開”. 窓の杜. (2011年7月21日). https://forest.watch.impress.co.jp/docs/news/462091.html 2011年7月24日閲覧。 
  13. ^ WWDC 2014 Session 206 - Introducing the Modern WebKit API - ASCIIwwdc”. 2014年12月13日閲覧。
  14. ^ webkit-dev Cleaning House
  15. ^ The WebKit Open Source Project”. WebKit (2015年11月7日). 2021年3月29日閲覧。
  16. ^ WebKit Downloads”. WebKit (2016年3月30日). 2021年3月29日閲覧。
  17. ^ ノキア、'Web Browser for S60'エンジンのコードをオープンソース・コミュニティに公開』(プレスリリース)ノキア・ジャパン、2006年5月24日http://www.nokia.co.jp/about/release_060524.shtml2011年7月24日閲覧 
  18. ^ Adobe Integrated Runtime (AIR)
  19. ^ Adobe Dreamweaver CS3 10 周年記念イベント レポート
  20. ^ What is Android?
  21. ^ WebKitGtk - GNOME Live!
  22. ^ Torch Mobile
  23. ^ Stephen Shankland (2013年2月14日). “Opera、ブラウザエンジンにWebKitを採用へ”. CNET News. https://japan.cnet.com/article/35028206/ 2013年2月14日閲覧。 
  24. ^ The WebKit Open Source Project – JavaScript
  25. ^ KDE-Darwin mailing list, "JavaScriptCore, Apple’s JavaScript framework based on KJS", 13 June 2002.
  26. ^ The Great Browser JavaScript Showdown” (2007年12月19日). 2009年10月8日閲覧。
  27. ^ SquirrelFish – WebKit – Trac
  28. ^ Surfin’ Safari - Blog Archive  » Announcing SquirrelFish
  29. ^ Introducing SquirrelFish Extreme
  30. ^ WebKit.org Drosera wiki article
  31. ^ Introducing Drosera”. Surfin’ Safari. 2009年10月8日閲覧。
  32. ^ Commit removing Drosera”. 2009年10月8日閲覧。
  33. ^ Muchmore, Michael (2008年6月18日). “Review: Firefox 3 Stays Ahead of Browser Pack”. http://www.foxnews.com/story/0,2933,368182,00.html 2008年9月6日閲覧。 
  34. ^ SunSpider JavaScript Benchmark”. 2008年9月6日閲覧。
  35. ^ Announcing SunSpider 0.9” (2007年12月18日). 2008年9月6日閲覧。
  36. ^ Atwood, Jeff (2007年12月19日). “The Great Browser JavaScript Showdown”. 2008年9月6日閲覧。
  37. ^ Resig, John (2008年9月3日). “JavaScript Performance Rundown”. 2008年6月9日閲覧。
  38. ^ HTML5対応のWebKit版ブラウザ | 株式会社ACCESS
  39. ^ NetFront Life Browser 和製PDA用WebブラウザがAndroid端末に登場”. アンドロイダー. TriWorks Corp. JAPAN (2010年11月15日). 2010年11月15日閲覧。
  40. ^ ニンテンドー3DS用インターネットブラウザーLGPL適用オープンソースについて アーカイブの中にWebKitのソースコードが入っている
  41. ^ ACCESS、情報家電向けブラウザの新製品「NetFront® Browser NX」を発表
  42. ^ インターネットブラウザーの主な仕様
  43. ^ Wii U インターネットブラウザーの主な仕様
  44. ^ 任天堂の新ゲーム機「Wii U」に ACCESSの「NetFront® Browser NX」をブラウザエンジンとして提供 | 株式会社ACCESS

関連項目

外部リンク


WebKit

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/11/21 22:18 UTC 版)

Lunascape」の記事における「WebKit」の解説

WebKitエンジンへの切り替え機能2009年公開されバージョン5.0より搭載された。2004年時点開発者近藤により構想自体語られていたが、正式公開版への搭載には5年月日費やした形となる。TridentGeckoのような機能拡張には対応していないが、セキュリティ切り替えなど基本的な機能は他のエンジン変わらないまた、WebKit独自の機能としてSafari同等Webページのデバッグツールが利用できるようになっている

※この「WebKit」の解説は、「Lunascape」の解説の一部です。
「WebKit」を含む「Lunascape」の記事については、「Lunascape」の概要を参照ください。

ウィキペディア小見出し辞書の「WebKit」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ



固有名詞の分類


英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「WebKit」の関連用語

WebKitのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



WebKitのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
IT用語辞典バイナリIT用語辞典バイナリ
Copyright © 2005-2025 Weblio 辞書 IT用語辞典バイナリさくいん。 この記事は、IT用語辞典バイナリの【WebKit】の記事を利用しております。
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのWebKit (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、WikipediaのLunascape (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。

©2025 GRAS Group, Inc.RSS