Gecko

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動先: 案内検索
Gecko
開発元 Mozilla Foundation / Mozilla Corporation
最新版
通常版
50.0.2 - 2016年11月30日(9日前) (2016-11-30[1][2]
最新評価版
Beta

51.0 Beta - 2016年11月16日(23日前) (2016-11-16[3]

Developer Edition

52.0a2 - 2016年11月18日(21日前) (2016-11-18[4] 以降毎日リリース

Nightly
53.0a1 - 2016年11月14日(25日前) (2016-11-14[5] 以降毎日リリース
プログラミング言語 C++
対応OS クロスプラットフォーム
種別 レイアウトエンジン
ライセンス Mozilla Public License 2.0
公式サイト http://developer.mozilla.org/en/Gecko
テンプレートを表示
Geckoを搭載するウェブブラウザ(Mozilla Firefox 2.0)

Gecko(ゲッコー)は Netscapeシリーズ 6以降およびMozillaソフトウェアのために開発されたオープンソースHTMLレンダリングエンジン群の総称である。HTMLCSSXULJavaScriptなどを解釈する。

なお、Geckoは英語トッケイヤモリの意味を持つ。

歴史[編集]

当初、Mozillaは1998年に公開されたNetscape 5.0へ向けて開発中だったソースコードを元に開発されていたが[6]、軽量化のために当時買収したDigital Style社のエンジンをベースにして新規に書かれた。これがGeckoである。パース部分はW3Cによる勧告に合致することを目標に作成されている。 1.8系列以前ではWeb Standards ProjectがCSS 2.1のテストとして用意したAcid2に合格していなかったが、1.9系列からは合格している。

バージョン履歴[編集]

0.6
Netscape 6に搭載される。
1.8
CSSなどのエラー検出機能を実装。canvas要素のサポート。
1.8.1
Firefox / Thunderbird 2.0、SeaMonkey 1.1、Netscape Navigator 9、Camino 1.5および1.6に搭載。
1.9
Firefox 3.0、Camino 2.0に搭載。Sunbird 0.3にアルファ版を搭載。
Acid2に合格。WSDLおよびSOAPのネイティブサポートを削除。
1.9.1
Firefox 3.5、Thunderbird 3.0、SeaMonkey 2.0に搭載。
CSS 3の一部プロパティやHTML 5の一部要素をサポート。
5.0
高速リリースサイクルを採用し、6週間ごとにバージョンアップされるようになった。バージョンの数字はFirefox、Thunderbirdと統一されている。

Geckoを使用するソフトウェア[編集]

ウェブブラウザ[編集]

その他のソフトウェア[編集]

ウェブブラウザ以外でも、HTMLやCSSなどを表示に用いるソフトウェアでGeckoが採用されている。

  • Mozilla Thunderbird(メールクライアント、旧Minotaur)
  • Correo(メールクライアント)
  • Mozilla Sunbird(カレンダー)
  • Nvu(Web オーサリングツール)
  • KompoZer(Web オーサリングツール)
  • Songbird(メディアプレーヤー)
  • Wine (オープンソースのWindows API実装、Internet Explorerの実装に利用)

技術[編集]

XUL[編集]

XULはアプリケーションのGUIをXMLで記述した形式である。イベントハンドラを用いてJavaScriptを呼び出すことで、HTMLとJavaScriptを組み合わせたWebアプリケーションと同じ感覚でネイティブのGUIに近いアプリケーションを製作することができる。XULはアプリケーションとしてローカルから読み出されるほか、Web上のファイルであっても表示できる。(ただしファイルの読み書きなどの特権は利用できない。)

構成[編集]

HTML・CSSのレンダリングや通信部分、ファイルの読み書きなどのAPIはC++で記述されており、それぞれコンポーネント化されている。これらのAPIは他のC++コードから(必要なものだけを)呼び出せるほか、XULアプリケーションなどからJavaScriptなどスクリプト言語を通じて呼び出すことができる(XPCOM)。FirefoxなどではXULアプリケーションから実際に呼び出しているほか、XPCOM 対応でビルドされた JavaScript シェルから利用することもできる。

描画[編集]

XUL, CSSでスタイルづけされたHTML, MathML, SVGを表示することができる。 HTMLの描画は(複雑な)ペインターアルゴリズムが採用されている。HTMLがCSSの「ボックス」群に変換しレイアウトを決定すると、描画順序を決めたリストを構成し、リストができると実際に描画される。 描画バックエンドにはcairoが使われている。半透明、曲線描画などにその技術が使われている。

スクリプトエンジン[編集]

スクリプト処理部分はSpiderMonkeyと呼ばれる。ECMAScript 3 に準拠する。Firefoxに組み込まれた状態では、特権管理により、WebページのJavaScriptを実行できるだけでなく、ブラウザ本体や拡張機能をJavaScriptで記述することができる。アプリケーション側からもWebページのJavaScriptオブジェクトに(間接的に)アクセス可能である。2007年ごろからWebアプリケーションの普及によりJavaScriptの性能が話題になり始めたが、Gecko 1.9.1 (2008)以降、JIT方式のJavaScriptコンパイラ/インタプリタが搭載され、性能が向上した(TraceMonkey)。Gecko 2.0 (aka 1.93a) / Firefox 4 (2010) では低速だがコンパイルの早いJITコンパイラ(JägerMonkey)とTraceMonkeyを組み合わせて使う方式になった。Gecko 9 / Firefox 9 (2011) では型推論が導入され、リリース製品に組み込まれた。

ユーザーエージェント情報[編集]

このエンジンを使用したユーザエージェントの多くはユーザエージェント名で使用環境などを確認できる。

Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1

この例では、Windowsは対象のプラットフォームMicrosoft Windowsであること、Uは強いセキュリティレベルであること、Windows NT 5.1は使用しているシステムWindows NT 5.1であること、jaは利用している言語の設定が日本語であること、rv:1.8.1.1はGeckoのリビジョンが1.8.1.1であること、Gecko/20061204はビルドされた日付が2006年12月4日であること[9]Firefox/2.0.0.1は以上のようなGeckoを搭載したFirefox 2.0.0.1であることを表している。

Mozilla ActiveX Control[編集]

Microsoft Windows上で動作する プラグイン。Mozilla ActiveX Projectにより開発されている。ActiveX をGeckoのブラウザ上から管理したり、Geckoのレンダリングエンジン部分をコンポーネントとしてWindowsアプリケーションに組み込む目的で開発された。

ActiveXの管理機能は安全性の確認されたインストール済みのActiveXをブラウザから管理するためのもので、ブラウザからActiveXを実行したりインストールしたりするためのものではない。[10]

ブラウザエンジンとしては、XUL上のアプリケーションではなく、Windowsネイティブのアプリケーションとして組み込むことによってより軽量に使用することを可能にした。mozctl.dll をソフトウェアに接続することでコンポーネントとしての Gecko エンジンが利用できる。Webブラウザに使われる場合が多いが、Webページの表示確認など、補助的な機能として用いられた例もある。

Mozilla ActiveX ControlのHTMLレンダリングエンジンとしての機能はXULネイティブなプログラムと同一であり、設定項目なども共通である。ただし、標準ダイアログボックスなどの表示はXULネイティブのものと異なる。

Geckoを利用するソフトウェア[編集]

Geckoのバージョン クロスプラットフォーム Windowsのみ Mac only Unix系のみ UNIX系
モバイル
Firefox Netscape [u 1] Mozilla [u 1] SeaMonkey Thunderbird Flock [u 1] Songbird / Nightingale Beonex [u 1] Lunascape [u 2][u 3] K-Meleon Pale Moon [u 4] Camino [u 1] Galeon [u 1] Epiphany [u 5][u 2] 風博士 [u 2] MicroB
0.6 6.0 0.6 0.6[11]
0.8 0.8 0.3
0.9.2 6.1 0.9.2
0.9.4 6.2 0.9.4 0.5
0.9.4.1 6.2.2 0.9.4.1 0.7[11]
0.9.5 0.9.5 0.6
0.9.7 0.9.7 1.0.2
1.0.1 7.0 1.0.1 0.8.1[12]
1.0.2 1.0.2 0.8.2[13]
1.1 1.1 0.9pre[11]
1.2b 0.1 - 0.3 1.2b 0.7
1.3a 0.4 - 0.5 1.3a
1.4 7.1 1.4
1.4.1 1.4.1 1.0.4
1.5 0.6 - 0.7.1 1.5 0.1 - 0.3 0.8
1.6 0.8 1.6 0.4 - 0.5
1.7 0.9 - 1.0 1.7 0.6 - 1.0 2.0 0.2.8
1.7.2 7.2 1.7.2
1.7.5 8.0.2[u 3] 1.7.5 0.9
1.8.0 1.5 1.0 1.1 - 1.5 0.7 0.2 1.0 1.0
1.8.1 2.0 9.0 1.1 2.0 1.0 4.8 1.1, 1.5 1.5 - 1.6 2.16
1.9.0 3.0 3.0a1 - a2 2.0 - 2.6 0.5 - 1.4 2.2 2.0 2.22
1.9.1 3.5 2.0 3.0a3 - 3.0 5.0 1.6 3.5
1.9.2 3.6 3.1 1.9.3 6.3 1.7 3.6[u 6] 2.1 1.7.4.8 [u 7]
2.0[u 8] 4.0 2.1 (3.3a) 4.0
5.0[u 9] 5.0 2.2 5.0 5.0
6.0 6.0 2.3 6.0 6.0
7.0 7.0 2.4 7.0 7.0
8.0 8.0 2.5 8.0 8.0
9.0 9.0 2.6 9.0 9.0.1
10.0 10.0, 10.0 ESR 2.7 10.0, 10.0 ESR 9.1, 9.2
11.0 11.0 2.8 11.0 11.0
12.0 12.0 2.9 12.0 12.0 - 12.3
13.0 13.0 2.10 13.0
14.0 14.0 2.11 14.0
15.0 15.0 2.12 15.0 15.0 - 15.4.1
16.0 16.0 2.13 16.0
17.0 17.0, 17.0 ESR 2.14 17.0.x
18.0 18.0 2.15 (18.0b)
19.0 19.0 2.16 (19.0b) 19.0
20.0 20.0 2.17 (20.0b) 20.0.1 - 20.3
21.0 21.0 (2.18) (21.0b)
22.0 22.0 2.19 (22.0b)
23.0 23.0 2.20 (23.0b)
24.0 24.0, 24 ESR 2.21 24.x 74 24.x - 25.x
25.0 25.0 2.22 (25.0b)
26.0 26.0 2.23 (26.0b)
27.0 27.0 2.24 (27.0b)
28.0 28.0 2.25 (28.0b)
29.0 29.0 2.26 (29.0b)
30.0 30.0 (2.27) (30.0b)
31.0 31.0, 31 ESR (2.28) 31.x 75.x
32.0 32.0 2.29 (32.0b)
33.0 33.0 2.30 (33.0b)
34.0 34.0 2.31 (34.0b)
35.0 35.0 2.32 (35.0b)
36.0 36.0 2.33 (36.0b)
37.0 37.0 2.34 (37.0b)
38.0 38.0, 38 ESR 2.35 38.x
39.0 39.0 (2.36) (39.0b)
40.0 40.0 (2.37) (40.0b)
41.0 41.0 2.38 (41.0b)
42.0 42.0 2.39 (42.0b)
43.0 43.0 2.40 (43.0b)
44.0 44.0 (2.41) (44.0b)
45.0 45.0, 45 ESR 2.42 45.x 6.15
46.0 46.0 (2.43) (46.0b)
47.0 47.0 (2.44) (47.0b)
48.0 48.0 (2.45) (48.0b)
49.0 49.0 (2.46) (49.0b)
Geckoのバージョン Firefox Netscape [u 1] Mozilla [u 1] SeaMonkey Thunderbird Flock [u 1] Songbird / Nightingale Beonex [u 1] Lunascape [u 2][u 3] K-Meleon Pale Moon [u 4] Camino [u 1] Galeon [u 1] Epiphany [u 5][u 2] 風博士 [u 2] MicroB
クロスプラットフォーム Windowsのみ Macのみ UNIX系のみ UNIX系
モバイル

脚注[編集]

[ヘルプ]
  1. ^ Firefox — Notes (50.0.2) — Mozilla” (2016年11月30日). 2016年12月3日閲覧。
  2. ^ Firefox 45.3.0 リリースノート” (2016年8月2日). 2016年8月7日閲覧。
  3. ^ Web ブラウザ Mozilla Firefox — 各国語版の Firefox Beta をダウンロード — Mozilla”. 2016年12月9日閲覧。
  4. ^ Firefox — Aurora Notes (52.0a2) — Mozilla” (2016年11月18日). 2016年12月9日閲覧。
  5. ^ RapidRelease/Calendar - MozillaWiki”. 2016年12月9日閲覧。
  6. ^ Communicator 5.0はどうしたのですか?
  7. ^ a b 拡張機能IE TabでIEコンポーネントの利用も可能。
  8. ^ バージョン2.1.0からIEコンポーネントも使用可能。
  9. ^ ただし Firefox 4.0 Beta 5以降のリリース版ではビルドした日付ではなく、Gecko/20100101固定となった。詳しくはBug 591537 - Freeze UA build id for Firefox branded builds参照。
  10. ^ http://www.mozilla-japan.org/start/1.5/faq/browser.html#active-x
  11. ^ a b c Bucksch, Ben (2003年3月12日). “News”. 2011年1月29日閲覧。
  12. ^ Bucksch, Ben. “0.8.1”. 2011年1月29日閲覧。
  13. ^ Bucksch, Ben. “Release-notes”. 2011年1月29日閲覧。
  1. ^ a b c d e f g h i j k l 開発停止
  2. ^ a b c d e f WebKit も採用
  3. ^ a b c Tridentも採用
  4. ^ a b バージョン26以降ではレンダリングエンジンとしてGeckoの代わりにGoannaを採用
  5. ^ a b Geckoの採用を停止
  6. ^ Development of this branch/version actively continued.
  7. ^ Fremantle 1.3上でGecko 1.9.2.3preを使用
  8. ^ 2010年6月28日まで Gecko 1.9.3a と Firefox 3.7であった。
  9. ^ Firefox 5以降では、Geckoのバージョン番号はFirefoxのバージョン番号と一致する

関連項目[編集]

外部リンク[編集]