(Translated by https://www.hiragana.jp/)
WebKit - Wikipedia

WebKit(ウェブキット)は、Apple中心ちゅうしんとなって開発かいはつしているオープンソースHTMLレンダリングエンジンぐん総称そうしょうである。HTMLCSSJavaScriptSVGMathMLなどを解釈かいしゃくする。

WebKit
2015年時点のロゴマーク。
開発元かいはつもと AppleKDEノキア[1]
最新さいしん評価ひょうかばん
Nightly[2]
リポジトリ ウィキデータを編集
対応たいおうOS クロスプラットフォーム
対応たいおう言語げんご C++
サポートじょうきょう 開発かいはつちゅう
種別しゅべつ レンダリングエンジン
ライセンス LGPL / BSD-style
公式こうしきサイト webkit.org ウィキデータを編集
テンプレートを表示ひょうじ

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]

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は、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は、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はWebKitのナイトリービルドにふくまれていたJavaScriptデバッガーである[30][31]。Droseraの食虫植物しょくちゅうしょくぶつ(つまりバグをべる)のモウセンゴケぞく学名がくめいからけられた。DroseraはWeb Inspectorにふくまれるデバッギング機能きのうによってえられている[32]

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を使用しようするソフトウェア

編集へんしゅう

ウェブブラウザ

編集へんしゅう
  • 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

関連かんれん項目こうもく

編集へんしゅう

外部がいぶリンク

編集へんしゅう