Gecko

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動: 案内検索
Gecko
開発元 Mozilla Foundation / Mozilla Corporation
最新版

28.0 - 2014年03月18日(32日前) (2014-03-18[1]

ESR 24.4.0 - 2014年03月18日(32日前) (2014-03-18[2]
最新評価版 29.0 Beta 9 - 2014年04月18日(1日前) (2014-04-18[3][4]
プログラミング言語 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へ向けて開発中だったソースコードを元に開発されていたが[5]、軽量化のために当時買収した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日であること[8]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を実行したりインストールしたりするためのものではない。[9]

ブラウザエンジンとしては、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 Flock

[u 1]

Songbird/Nightingale Beonex

[u 1]

Lunascape [u 2][u 3] K-Meleon Pale Moon Camino [u 1] Galeon

[u 1]

Epiphany [u 4][u 2] 風博士
[u 2]
MicroB
0.6 6.0 0.6 0.6[10]
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[10]
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[11]
1.0.2 1.0.2 0.8.2[12]
1.1 1.1 0.9pre[10]
1.2b 0.1 1.2b 0.7
1.3a 0.5 1.3a
1.4 7.1 1.4
1.4.1 1.4.1 1.0.4
1.5 0.7 1.5 0.8
1.7 1.0 1.7 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 0.7 0.2 1.0 1.0
1.8.1 2.0 9.0 1.1 1.0 4.8 1.1, 1.5 1.5 - 1.6 2.16
1.9.0 3.0 2.0 - 2.6 0.5 - 1.4 2.2 2.0 2.22
1.9.1 3.5 2.0 5.0 1.6 3.5
1.9.2 3.6 1.9.3 6.3 1.7 3.6[u 5] 2.1 1.7.4.8 [u 6]
2.0[u 7] 4.0 2.1 4.0
5.0[u 8] 5.0 2.2 5.0
6.0[u 8] 6.0 2.3 6.0
7.0[u 8] 7.0 2.4 7.0
8.0[u 8] 8.0 2.5
9.0[u 8] 9.0 2.6
10.0[u 8] 10.0 2.7
11.0[u 8] 11.0 2.8
12.0[u 8] 12.0 2.9
13.0[u 8] 13.0 2.10
14.0[u 8] 14.0 2.11
15.0[u 8] 15.0 2.12
16.0[u 8] 16.0 2.13
17.0[u 8] 17.0 2.14
18.0[u 8] 18.0 2.15
19.0[u 8] 19.0 2.16
20.0[u 8] 20.0 2.17
21.0[u 8] 21.0 (2.18)
22.0[u 8] 22.0 2.19
23.0[u 8] 23.0 2.20
24.0[u 8] 24.0 2.21
25.0[u 8] 25.0 2.22
26.0[u 8] 26.0 2.23
Geckoのバージョン Firefox Netscape [u 1] Mozilla [u 1] SeaMonkey Flock

[u 1]

Songbird/Nightingale Beonex

[u 1]

Lunascape [u 2][u 3] K-Meleon Pale Moon Camino [u 1] Galeon

[u 1]

Epiphany [u 4][u 2] 風博士
[u 2]
MicroB
クロスプラットフォーム Windowsのみ Macのみ UNIX系のみ UNIX系
モバイル

脚注[編集]

[ヘルプ]
  1. ^ Firefox 28.0 リリースノート” (2014年3月18日). 2014年3月19日閲覧。
  2. ^ Firefox 24.4.0 延長サポート版 (ESR) リリースノート” (2014年3月18日). 2014年3月19日閲覧。
  3. ^ Firefox 29 ベータ版リリースノート” (2014年4月4日). 2014年4月5日閲覧。
  4. ^ Mozilla Firefox Web Browser — Download Firefox Beta in your language — Mozilla”. 2014年4月19日閲覧。
  5. ^ Communicator 5.0はどうしたのですか?
  6. ^ a b 拡張機能IE TabでIEコンポーネントの利用も可能。
  7. ^ バージョン2.1.0からIEコンポーネントも使用可能。
  8. ^ ただし Firefox 4.0 Beta 5以降のリリース版ではビルドした日付ではなく、Gecko/20100101固定となった。詳しくはBug 591537 - Freeze UA build id for Firefox branded builds参照。
  9. ^ http://www.mozilla-japan.org/start/1.5/faq/browser.html#active-x
  10. ^ a b c Bucksch, Ben (2003年3月12日). “News”. 2011年1月29日閲覧。
  11. ^ Bucksch, Ben. “0.8.1”. 2011年1月29日閲覧。
  12. ^ 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 Geckoの採用を停止
  5. ^ Development of this branch/version actively continued.
  6. ^ Uses Gecko 1.9.2.3pre on Fremantle 1.3.
  7. ^ June 28, 2010 まで Gecko 1.9.3a と Firefox 3.7であった。
  8. ^ a b c d e f g h i j k l m n o p q r s t u v Starting with Firefox 5, the Gecko version numbering will be the same as the Firefox version number.

関連項目[編集]

外部リンク[編集]