次世代WebブラウザNetscape 6の心臓部「Gecko」

HTML、XML、DOMなどに準拠するGecko
IEコンポーネントとの置き換えも可能に

新川泰介
2000/5/30

 Netscape 6は、Netscape CommunicationsがAOLグループの一員になってはじめてのメジャーアップグレード版Webブラウザだ。またこの製品は、オープンソースとしてのMozilla Public Licenseのもと、mozilla.orgで開発されたコードによって構成されたはじめてのプロダクトでもある。マイクロソフトのInternet Explorerにシェアを奪われたネットスケープにとって、いわば捲土重来のプロダクトだといえるだろう。

Netscape 6 PR1の画面

 現在評価できるリリースは、PR1(Preview Release 1)と名付けられている一種のβバージョンであり、仕様などは今後のリリースにより変わる可能性がある。しかしユーザーインターフェイスなどはこのバージョンでフリーズされていると思われる。

 Netscape 6最大の特長は、切り離し可能なレイアウトエンジンとして小型で高速なNetscape Gecko搭載したことだ。Netscape 6の主要機能のほとんどはGeckoが提供する機能またはそのアプリケーションであり、文字通り心臓部である。しかもGeckoはWindowsやMacintoshなどのプラットフォームに依存しないレイアウトエンジンで、コンパクト、高速、フレキシブルなコール方法、モジュール単位で機能拡張が可能、ソースコードが公開されている、主要な規格に対応している、などの特長がある。

 GeckoはHTMLをレンダリング可能なだけでなく、XML 1.0、DOMなどをサポートした。オープンソースとしてソースコードが公開されていることもあり、今後デジタルドキュメントの世界で重要な役割を果たす可能性が高い。そこで本稿では、Netscape 6の中でもそのGeckoに焦点を絞り、解説していくことにする。

HTML、XMLなどの標準規格への対応

mozilla.orgとNetscape

 Netscapeの創設者の一人であるマーク・アンドリーセンは、イリノイ大学でMosaicを開発後、独立し会社をおこす際に、最初はMosaic Communicationsと言う名前で創業しようとしていた。しかしイリノイ大学サイドからのクレームでMosaicの名称が使用できなくなったため、新たな社名を決定しなくてはならくなくなった。

 アンドリーセンは、Mozilla(Mosaic+ゴジラからヒントを得たらしいが)Communicationsと言う名前を提案したが、それを聞いた共同創設者のジム・クラーク(SGIの創設者として知られている)は、絶句したらしい。

 会社名はNetwork+Landscapeの造語からNetscapeに決定したが、Mozillaはその後も、Netscape社内でマスコットネームとして生き続け、Navigator/Communicatorのソースコードを公開する際に、公式の名称として改めて登場した。

 現在のNetscapeとmozilla.orgの関係は、誤解を恐れずに単純化すると、Netscapeのブラウザ開発の社外共同プロジェクトといった位置付けであろう。そこで開発されたコードは、オープンライセンスで、一定の条件下でソース、オブジェクトの使用は自由であるため単なる社外共同プロジェクトではないが、mozilla.orgはNetscapeにとっては社外リソースを無償で利用することができるため効率よい開発プロジェクトといえよう。

 同時に社外の開発者、モニターのフィードバックもより高精度になっており、インターネット環境が求めている製品をリリースできる確率が高くなっている。

 GeckoはHTML、XML、CSS、DOM、RDFなどに対応しているとネットスケープは主張している。Geckoが対応している仕様を以下にあげる。

  • HTML 4.0
  • XML 1.0
  • CSS Level1
  • DOM 1.0
  • RDF 1.0

 Geckoはまた、Unicode 3.0、JavaScript 1.5にも対応しており、XML Namespaces、CSS Level2、DOM 2.0などにも一部対応しているという。Unicodeベースですべてのキャラクタセットを処理するため、よりシンプルな処理で複数の言語に対応している。当然、HTTP1.1/FTP/SSLなどをサポートするため、Neckoと呼ばれる通信ライブラリも備えている。

 さらに、Netscape 6のユーザーインターフェイス自身がXUL(XML based User interface Language:ズール)を使って作られているように、比較的少ない開発リソースで新たなユーザーインターフェイスおよびルック&フィールをGecko上に作成することも可能としている。

 現在のPR1では未サポートであるが、次のリリースではユーザーインターフェイスを入れ替えるための「スキン」と呼ばれる機能を備えるという。Winamp用にリリースされている膨大な量のスキン定義ファイルと同じような状況が展開されるのであろうか。PR1のユーザーインターフェイスはネットスケープのポータルサイトであるNetcenterのイメージが強いため、よりスタンダードなスキンや、クールなものがリリースされることは容易に推測できる。

Java VMの切り離し

 従来のNetscape Communicator 4.xでは、Java VM(Java Virtual Machine)、JIT(Just In Time compiler)をWebブラウザ本体に抱え込む構造になっており、サン・マイクロシステムズのJavaとのバージョンの非整合が発生して、エンドユーザーの不評をかっていた。Netscape 6ではGeckoがOJI(Open JVM Interface)の切り口をもっており、プラグインの形で外部JVMを利用する形に変えられた。

 Netscape 6のWindows版では、サン-ネットスケープアライアンスにより、サン・マイクロシステムズのJavaプラグインと、JVMとして同社のJava 2が標準添付されており、機能の切り分け責任分担が明確になっている。エンドユーザーからみればJavaをマルチメディア用のプラグインと同じようにアップグレードすることができるようになった。

GeckoをIEコンポーネントと置き換え可能に

 Geckoを他のアプリケーションから利用する方法は、4つの方法がある。 C++が得意なエンジニアは、WebシェルAPIを使ってその機能を呼び出すことができる。また、インターネットスタンダードとしてはJavaScriptから呼び出し可能であり、JavaアプリケーションからはJava Wrapper APIを利用することで呼び出せる。Visual BasicのプログラマにはActiveXコントロールを用意している。いずれかの方法でGeckoを利用することにより、レイアウト表示などの部分は、ライブラリをコールする感覚で実現できるわけだ。

 特に注目すべきはActiveXコントロールで、現在徐々に増えつつあるIEコントロールを利用したアプリケーションでも、ベンダーサイドの簡単な修正作業でIEコントロールからGeckoにスイッチすることが可能となる。例えば、現在IEコントロールを利用しているEudoraやQuickenなどのアプリケーションでも、HTMLの表示方法をGeckoへと容易に切り替えることが可能だ。

Netscape 6で失地挽回なるか

 ソースコードが公開されており、ライセンス料も不要で、少ないリソースでポーティング可能なレイアウトエンジンの登場で、ハードウェアベンダーなどが、情報家電や情報端末などにGeckoをブラウザエンジンとして採用するケースが今後増加することが予想される。

 例えば、PCベンダーである米ゲートウェイからは、これまでのセットボックスを超えた家庭用情報端末にGeckoを採用して販売する計画があることをすでに公表しており、携帯電話の大手ベンダーNokiaもGeckoの採用を発表している。

 ネットスケープの親会社であるAOLにとっては、Netscape 6は自社サイトの標準ブラウザでありかつ自社サイトへトラフィックを運んでくるマーケティングツールという位置付けになろう。一方、ネットスケープとしては、ブラウザのシェア奪回といったところだろう。また、インターネットのコミュニティにとっては、ベンダーがやらなくとも自らの手で業界標準をいちはやくインプリメントできる手段を手に入れたといえる。

 いずれにしてもNetscape 6の製品版がリリースされる今年の第4四半期には、ライバルであるIEも5.5をリリースすることになる。失地挽回のネットスケープと、追われる立場のマイクロソフト、両社に注目していきたい。

 



XML & SOA フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

HTML5+UX 記事ランキング

本日月間