Gecko(ゲッコー)は、
Mozillaが開発しているオープンソースの
HTML[[レンダリングエンジン]]群の総称です。Netscape 6以降や
Mozillaソフトウェアに採用されており、ウェブページの表示に不可欠な役割を果たしています。
歴史
Geckoは、当初Netscape 5.0向けに開発されていたコードをベースに、軽量化を目的としてDigital Style社のエンジンを基に新たに開発されました。このエンジンは、W3Cの勧告に準拠したパース処理を目標としています。
初期バージョンでは、CSS 2.1のテストである
Acid2に合格していませんでしたが、バージョン1.9以降で合格を達成しました。これにより、Web標準への準拠度が向上しました。
バージョン履歴
Geckoは、以下のバージョンを経て進化してきました。
0.6: Netscape 6に初搭載。
1.8: CSSエラー検出機能やcanvas要素のサポートが実装。
1.8.1: Firefox/Thunderbird 2.0、SeaMonkey 1.1などに搭載。
1.9: Firefox 3.0、
Camino 2.0に搭載。
Acid2に合格し、WSDLおよびSOAPのネイティブサポートが削除。
1.9.1: Firefox 3.5、Thunderbird 3.0、SeaMonkey 2.0に搭載。CSS 3の一部プロパティやHTML 5の一部要素をサポート。
5.0: 高速リリースサイクルが採用され、6週間ごとのバージョンアップに。バージョン番号はFirefox、Thunderbirdと統一。
57: FirefoxでGeckoの一部コンポーネントがServoのものに置き換え開始。
Geckoは、ウェブブラウザだけでなく、様々なソフトウェアに利用されています。
ウェブブラウザ:
Bagel
Camino (旧Chimera、Mac OS X専用)
Epiphany (GNOME、2.28.0より
WebKitに移行)
Galeon (GNOME)
Lunascape (2以降、IEコンポーネント、
WebKitも利用可)
[[Mozilla Firefox]] およびその派生ブラウザ (Flock, K-Meleon, Pale Moon, Tor Browser, Floorpなど)
Waterfox
SeaMonkey (Mozilla Application Suiteの後継)
Sylera
風博士
Sleipnir 2 (
プラグインによる拡張、開発は停止)
その他のソフトウェア:
[[Mozilla Thunderbird]] (メールクライアント)
Correo (メールクライアント)
Mozilla Sunbird (カレンダー)
Nvu (Webオーサリングツール)
KompoZer (Webオーサリングツール)
Songbird (メディアプレーヤー)
Wine (Windows API実装、Internet Explorerの実装に利用)
技術
XUL:
XULは、XMLでGUIを記述する形式で、JavaScriptと組み合わせることで、Webアプリケーションのような感覚でネイティブに近いGUIアプリケーションを開発できます。
構成:
HTML・CSSレンダリングや通信などのAPIはC++で記述され、コンポーネント化されています。これらのAPIは、C++コードやスクリプト言語から呼び出すことができます。
描画:
XUL、CSSでスタイル付けされたHTML、MathML、SVGを表示できます。描画には、複雑なペインターアルゴリズムが採用されており、レイアウト決定後、描画順序リストを元に描画されます。描画バックエンドにはcairoが使用され、半透明や曲線描画が可能です。
スクリプトエンジン:
スクリプト処理には、SpiderMonkeyが使われています。ECMAScript 3に準拠し、WebページのJavaScript実行だけでなく、ブラウザ本体や拡張機能をJavaScriptで記述することもできます。JITコンパイラ/インタプリタの導入により、性能が向上しました。
Geckoを使用したユーザーエージェントは、ユーザーエージェント名で使用環境などを確認できます。例として、以下のような情報が含まれます。
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日であること
Firefox/2.0.0.1: Geckoを搭載したFirefox 2.0.0.1であること
Microsoft Windows上で動作する
プラグインで、
ActiveXをGeckoのブラウザ上で管理したり、Geckoの
レンダリングエンジンをWindowsアプリケーションに組み込んだりする目的で開発されました。
ActiveXの管理機能は安全性を確認された
ActiveXを管理するためのものであり、実行やインストールをするものではありません。
mozctl.dll を
ソフトウェアに接続することで、コンポーネントとしての Gecko エンジンが利用できます。これにより、軽量なWebブラウザや補助的な機能を実現できます。
前述の通り、ウェブブラウザだけでなく多くの
ソフトウェアに採用されています。
脚注
[1] 引用元や参考資料があれば追記します。
関連項目
Mozilla Foundation - 開発元団体
Mozilla Japan - 日本国内で
Mozilla製品のサポートを行う団体。
HTML[[レンダリングエンジン]]
XULRunner
Necko
Servo - Geckoと同様に
Mozilla Foundationが開発する実験的な
レンダリングエンジン
外部リンク
Mozilla/Gecko'>Gecko - Mozilla Developer Center
Gecko:Home Page - MozillaWiki
*
Mozilla ActiveX Project