この項目では、HTMLレンダリングエンジンについて説明しています。その他の用法については「ゲッコー (曖昧さ回避)」をご覧ください。
.mw-parser-output .pathnavbox{clear:both;border:1px outset #eef;padding:0.3em 0.6em;margin:0 0 0.5em 0;background-color:#eef;font-size:90%}.mw-parser-output .pathnavbox ul{list-style:none none;margin-top:0;margin-bottom:0}.mw-parser-output .pathnavbox>ul{margin:0}.mw-parser-output .pathnavbox ul li{margin:0}レンダリングエンジン > HTMLレンダリングエンジン > Gecko
Gecko
開発元Mozilla Foundation / Mozilla Corporation
最新版
通常版
126.0[1]
Beta & Developer Edition
127.0b2[3] / 2024年5月15日 (3日前)
Nightly
128.0a1[4] / 2024年5月13日 (5日前)
リポジトリ
hg.mozilla.org/mozilla-central/
プログラミング
言語C++、JavaScript、Rust
対応OSクロスプラットフォーム
種別レイアウトエンジン
ライセンスMozilla Public License 2.0
公式サイトdeveloper.mozilla.org/ja/docs/Glossary/Gecko
テンプレートを表示
Geckoを搭載するウェブブラウザ(Mozilla Firefox 2.0)
Gecko(ゲッコー)は、Netscapeシリーズ 6以降およびMozillaソフトウェアのために開発されたオープンソースのHTMLレンダリングエンジン群の総称である。HTML、CSS、XUL、JavaScriptなどを解釈する。
なお、Geckoは英語でヤモリの意味を持つ。 当初、Mozillaは1998年に公開されたNetscape 5.0へ向けて開発中だったソースコードを元に開発されていたが[5]、軽量化のために当時買収したDigital Style社のエンジンをベースにして新規に書かれた。これがGeckoである。パース部分はW3Cによる勧告に合致することを目標に作成されている。1.8系列以前ではWeb Standards ProjectがCSS 2.1のテストとして用意したAcid2に合格していなかったが、1.9系列からは合格している。 ウェブブラウザ以外でも、HTMLやCSSなどを表示に用いるソフトウェアでGeckoが採用されている。 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コンパイラ(JagerMonkey)と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であることを表している。
歴史
バージョン履歴
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と統一されている。
57
FirefoxのGeckoのコンポーネントがServoのものへと置き換えられ始めた[6]。
Geckoを使用するソフトウェア
ウェブブラウザ
Bagel
Camino - 旧Chimera。Mac OS X専用のGeckoブラウザ。
Epiphany (GNOME、2.28.0よりWebKitに移行)
Galeon (GNOME)
Lunascape (2以降。IEコンポーネント、WebKitの利用も可能)
Mozilla Firefox [7]およびそのソースコードを使用したブラウザ (Flock, K-Meleon, Pale Moon,Tor Browser, Floorp など)
Waterfox
SeaMonkey [7] - Mozilla Application Suite の後継ソフトウェア。
Sylera[8]
風博士
Sleipnir 2 (プラグインによる拡張。2010年8月現在、当該プラグインは開発停止している)
その他のソフトウェア
Mozilla Thunderbird(メールクライアント、旧Minotaur)
Correo
Mozilla Sunbird(カレンダー)
Nvu(Web オーサリングツール)
KompoZer(Web オーサリングツール)
Songbird(メディアプレーヤー)
Wine (オープンソースのWindows API実装、Internet Explorerの実装に利用)
技術
XUL
構成
描画
スクリプトエンジン詳細は「SpiderMonkey」を参照
ユーザーエージェント情報
Size:74 KB
出典: フリー百科事典『ウィキペディア(Wikipedia)』
担当:undef