Gecko
| 開発元 | Mozilla Foundation / Mozilla Corporation |
|---|---|
| 最新版 | 9.0(2011年12月20日) |
| 最新評価版 | 10.0(2011年12月23日) |
| プログラミング言語 | C++ |
| 対応OS | クロスプラットフォーム |
| 種別 | レイアウトエンジン |
| ライセンス | GPL/LGPL/MPL 3重ライセンス |
| 公式サイト | http://developer.mozilla.org/en/Gecko |
Gecko(ゲッコー)は Netscapeシリーズ 6以降およびMozillaソフトウェアのために開発されたオープンソースのHTMLレンダリングエンジン群の総称である。HTML、CSS、XUL、JavaScriptなどを解釈する。
目次 |
[編集] 歴史
当初、Mozillaは1998年に公開されたNetscape 5.0へ向けて開発中だったソースコードを元に開発されていたが[1]、軽量化のために当時買収したDigital Style社のエンジンをベースにして新規に書かれた。これがGeckoである。パース部分はW3Cによる勧告に合致することを目標に作成されている。 1.8系列以前ではWeb Standards ProjectがCSS 2.1のテストとして用意したAcid2に合格していなかったが、1.9系列からは合格している。
[編集] バージョン履歴
- 0.9-1.6
- 同一バージョンのMozilla Application Suiteに搭載されていた。
- 1.7
- Mozilla 1.7、Netscape 7.2、Firefox / Thunderbird 1.0に搭載。
- 1.8
- Firefox / Thunderbird 1.5、SeaMonkey 1.0(Mozilla 1.8相当のソフトウェア)、Camino 1.0に搭載。
- CSSなどのエラー検出機能を実装。canvas要素のサポート。
- 1.8.1
- Firefox / Thunderbird 2.0、SeaMonkey 1.1、Camino 1.5および1.6に搭載。
- 1.9
- Firefox 3.0、Camino 2.0に搭載。Mozilla Sunbird 0.3にアルファ版を搭載。
- Acid2に合格。WSDLおよびSOAP のネイティブサポートを削除。
- 1.9.1
- Firefox 3.5、Thunderbird 3.0、SeaMonkey 2.0に搭載。
- CSS 3の一部プロパティやHTML 5の一部要素をサポート。
- 1.9.2
- Firefox 3.6、Thunderbird 3.1、Camino 2.1に搭載。
- 2.0
- Firefox 4.0、Thunderbird 3.3(アルファ版)、SeaMonkey 2.1に搭載。
- 5.0
- Firefox / Thunderbird 5.0、SeaMonkey 2.2に搭載。
- 6.0
- Firefox / Thunderbird 6.0、SeaMonkey 2.3に搭載。
- 7.0
- Firefox / Thunderbird 7.0、SeaMonkey 2.4に搭載。
- 8.0
- Firefox / Thunderbird 8.0、SeaMonkey 2.5に搭載。
- 9.0
- Firefox / Thunderbird 9.0、SeaMonkey 2.6に搭載。
[編集] Geckoを使用するソフトウェア
[編集] ウェブブラウザ
- Bagel
- Camino - 旧Chimera。Mac OS X専用のGeckoブラウザ。
- Epiphany (GNOME、2.28.0よりWebKitに移行)
- Galeon (GNOME)
- Lunascape (2以降。IEコンポーネント、WebKitの利用も可能)
- Mozilla Firefox [2] およびそのソースコードを使用したブラウザ (Flock, K-Meleon, Pale Moon など)
- SeaMonkey [2] - Mozilla Application Suite の後継ソフトウェア。
- Sylera[3]
- 風博士
- Sleipnir 2 (プラグインによる拡張。2010年8月現在、当該プラグインは開発停止している)
[編集] その他のソフトウェア
ウェブブラウザ以外でも、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 に準拠する。特権管理により、WebページのJavascriptを実行できるだけでなく、ブラウザ本体や拡張機能をJavascriptで記述することができる。アプリケーション側からもWebページのJavascriptオブジェクトに(間接的に)アクセス可能である。Gecko 1.9.1以降、JIT方式のJavascriptコンパイラ/インタプリタが搭載され、性能が向上した(TraceMonkey)。
[編集] ユーザーエージェント情報
このエンジンを使用したユーザエージェントの多くはユーザエージェント名で使用環境などを確認できる。
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日であること[4]、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を実行したりインストールしたりするためのものではない。[5]
ブラウザエンジンとしては、XUL上のアプリケーションではなく、Windowsネイティブのアプリケーションとして組み込むことによってより軽量に使用することを可能にした。mozctl.dll をソフトウェアに接続することでコンポーネントとしての Gecko エンジンが利用できる。 Webブラウザに使われる場合が多いが、Webページの表示確認など、補助的な機能として用いられた例もある。
Mozilla ActiveX ControlのHTMLレンダリングエンジンとしての機能はXULネイティブなプログラムと同一であり、設定項目なども共通である。ただし、標準ダイアログボックスなどの表示はXULネイティブのものと異なる。
[編集] 脚注
- ^ Communicator 5.0はどうしたのですか?
- ^ a b 拡張機能のIE TabでIEコンポーネントの利用も可能。
- ^ バージョン2.1.0からIEコンポーネントも使用可能。
- ^ ただし Firefox 4.0 Beta 5以降のリリース版ではビルドした日付ではなく、Gecko/20100101固定となった。詳しくはBug 591537 - Freeze UA build id for Firefox branded builds参照。
- ^ http://www.mozilla-japan.org/start/1.5/faq/browser.html#active-x
[編集] 関連項目
- Mozilla Foundation - 開発元団体
- Mozilla Japan - 日本国内でMozilla製品のサポートを行う団体。
- HTMLレンダリングエンジン
- XULRunner
- Necko
[編集] 外部リンク
|
||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||