Gecko

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



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であること

Mozilla ActiveX Control



Microsoft Windows上で動作するプラグインで、ActiveXをGeckoのブラウザ上で管理したり、GeckoのレンダリングエンジンをWindowsアプリケーションに組み込んだりする目的で開発されました。ActiveXの管理機能は安全性を確認されたActiveXを管理するためのものであり、実行やインストールをするものではありません。

mozctl.dll をソフトウェアに接続することで、コンポーネントとしての Gecko エンジンが利用できます。これにより、軽量なWebブラウザや補助的な機能を実現できます。

Geckoを利用するソフトウェア



前述の通り、ウェブブラウザだけでなく多くのソフトウェアに採用されています。

脚注



[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

もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。