Cygnus - CSK 共同研究:Web ブラウザの評価

Cygnus Support, January 1, 1996
(Gordon Irlam, gordoni@cygnus.com)


Cygnus - CSK の共同研究プロジェクトの一環として、Cygnus は多数の Web ブラウザを評価し、デモ目的に使用できるものを1つ選択することに同意した。

我々の関心は、さまざまな Web ブラウザが提供する機能と我々の目的に対す る適合性、の両方にある。

使用可能な Web ブラウザの概要

多数のブラウザが存在する。Netscape は目下もっともポピュラーである。 さまざまな Web ブラウザの市場シェアの概算を下表に示した。

Netscape ブラウザは現在、70〜80% の市場シェアを有する。標準のHTMLと多 数の独自拡張機能をサポートしている。最新バージョンの Netscape 2.0 はβ 版だが、Java プログラミング言語をサポートする。Java が使用可能なブラウ ザの展開がいずれ起こることは大いにありうるが、今のところブラウザのうち Java を使用可能なのはおそらく 5〜10% にすぎない。Netscape はSSL と S-HTTP に基づくセキュリティを備える。Netscape は「プラグイン」機構を持っ ており、他のソフトウェア アプリケーションから Netscape にインタフェー スをとることができる。また、元々は LiveScript と呼ばれ今では JavaScript と呼ばれているスクリプト言語のサポートが計画されている。 Netscape の実行可能ソフトウェアは、顧客が無料で試用できるようになって いる。

NCSA が制作した Mosaic ブラウザのライセンス権は、Spygrass、Spry、GNN、 Quaterdeck をはじめ多数の商用版 Mosaic を制作する企業に売られた。 Chimera もまた Mosaic の派生物である。NCSA は Mosaic の開発を継続して おり、Windows 版の Mosaic は Unix 版よりはいくらか洗練されている。 Mosaic のバイナリは無料で使用可能だが、ソースコードへのアクセスは制限 されている。

AOL、Compuserve、そして Prodigy はそろって顧客向けに Web ブラウザを提 供している。通常これらの組織は Internet 上のページへのアクセスを内部で キャッシュしているため、これらのブラウザの使用頻度を調べるのは困難であ る。報告によれば、これらのブラウザの品質はかなり低い。

Microsoft の Internet Explorer は高品質のブラウザであり、Netscape 同様、 多数の独自のHTML拡張を備えている。Microsoft は最近 Sun から Java のラ イセンス供与を受け、 Internet Explorer の将来のバージョンでは Java が サポートされる可能性が大である。機能面から言えば、 Internet Explorer はおそらく Netscape に一番近いところにいる競争相手である。Microsoft は ソースコードは公開しない。

IBM の WebExplorer についてはよくわからない。集めた統計によれば、こと によると 1% の市場シェアはあるかもしれない。

Lynx のライン モード ブラウザは、Internet にキャラクタ端末で接続する人 が Web にアクセスするためにのみ使われ、グラフィックス機能を持っていな い。

Sun の HotJava ブラウザは Java で記述されている。そこそこに良いもので はあるが、Netscapeの機能は欠如している。HotJava のソースコードは使用可 能だが、HotJava のライセンス規定は再配布に制限を設けている。HotJava は Java アプレットをサポートする。

OmniWeb はそこそこのブラウザと目されるが、使用可能なプラットフォームは NeXT だけである。

Arena は、HTML 3.0 開発用テストベッドとして World Wide Web Consortium が開発した。予想に違わず非常に良い HTML サポートを備えている。残念なこ とに、使い易さを高めるための機能拡張計画に関する限り、現時点では点数が 低い。手を加えれば非常に良いものになると思われる。Arena のソースコード は最近リリースされた。

Grail は CNRI が開発したブラウザで、Python プログラミング言語で記述さ れている。Grail はかなり良いものであり、Grail アプレットをサポートする。 Python ベースのブラウザとしてはもう1つ、Dancer がある。

Emacs の w3-mode は Emacs Lisp で記述されており、Emacs 利用者向けであ る。明らかに実行速度は遅く、GUI が弱い。

SurfIt!、tkWWW、Hippo、そして Phoenix はすべて Tcl/Tk で記述された Web ブラウザである。これらの中では SurfIt! が飛びぬけて洗練されており、Tcl ベースのアプレットをサポートする。

MMM は CAML/Tk ベースの Web ブラウザであり、CAML アプレットをサポート する。

ViolaWWW はスクリプト言語を備える強力な Web ブラウザだった。記述は拙かっ たが、後に続くブラウザのために道を切り開いた。もはや広くは使われていな い。

この他に無料のブラウザとして、Cello と UdiWWW の2つがある。どちらにも ソースが含まれていないので、わずかの時間しか調査していない。その存在を 知ってはいるが評価していないその他のブラウザとして、(Lispで記述されて いる?) WWWeasl と Awe 言語で書かれたアプレットをサポートするブラウザで ある CandleWeb がある。

ブラウザの構造

ほとんどのブラウザは似通った構造を持っている。以下のような構成である。 普通、これらを合計したコード量は 30,000行から70,000行になる。Sun の HotJava は例外である。URL に基づくドキュメント取得、ドキュメント解析お よび表示のサポートが多かれ少なかれ標準の Java クラスの一部に含まれてい るため、コード量はたかだか数1000行にすぎない。

Web ブラウザの作成においてはるかに複雑な作業がユーザ インタフェースで ある。

多くのブラウザは上述のコンポーネントに同じライブラリ コードを使用して いる。

W3C の共通コード ライブラリは URL に基づくドキュメント取得のために広く 使用されている。これは W3C が開発したものである。見るからに bogus なコー ドが多く含まれているが、とても移植性が高い。以前には CERN ライブラリと して知られていたものである。

イメージの表示には多くのブラウザが X11 の contrib ソフトウェアである xloadimage か xloadimage の派生物である XLI を使用している。Unisys の 主張によれば、gif ファイル形式は彼らの保有するデータ圧縮に関する特許を 侵害しているという。結果として、gif 離れが生じている。Independent JPEG Group は(IBM が特許を持つ付加的符号化形式を除き) JPEG イメージのロード 用コードを保有している。Compuserve が gif の後継として支持している新し いグラフィックス規格 PNG 用のライブラリもある

分析

我々は上述のうち15のブラウザを追跡調査してレビューを試み、Cygnus - CSK プロジェクトにおけるデモ ブラウザとして使用するのにどれが最もふさわし いかを調べた。どれにもいくつかの問題点があり、どのブラウザも理想的では ない。

これらのブラウザのそれぞれの詳細な分析のメモを含む文書とそれぞれのブラ ウザについての詳細な情報へのポインタがオンラインで利用可能である。

http://webhackers.cygnus.com/webhackers/web/software/browsers.html
簡潔さを期すため、上記の文書の内容はここでは割愛する。

この詳細な分析から、最もふさわしく思われるブラウザは以下の通りである。

Grail はかなり良いブラウザである。今のところ Unix 上でしか稼動しないが、 Python で記述されているので Windows にも容易に移植できるはずである。 Grail は HTML 2.0 をサポートしており、Python アプレットの実行が可能で ある。Grail ブラウザはダウンロード可能モジュールを通じて拡張できる。残 念ながら Grail のソースは今すぐに利用可能ではなく、広く利用可能になる 見込みも少ない。このプロジェクトのために Grail のソースを入手すること もできるとは思われるが、そうすることで何ら長期的な利益をもたらすとは思 えない。また、Grail でどれほど容易にマルチバイト文字がサポートできるか 明らかではない。

SurfIt! のソースは今のところ、このプロジェクトで使用する気を起こさせる にはいささかこわれものに見える。Tcl と Tk の特定のバージョンでしか動か ず、ブラウザを動かすためには前もって Tcl を変更する必要がある上、マシ ンに3本の追加ソフトウェアを載せておく必要がある。遅かれ早かれ SurfIt! は本当に良いブラウザに改良されるかもしれないが、現時点でSurfIt! の採用 に踏み切るのは危険すぎる。

Mosaic は Unix 版のソースに限って利用可能である。Windows 版ソースは広 く利用可能ではない。X 用ソースはデモ ブラウザには十分と思われるが、最 新の Windows 版ソースと比較するとかなり古い。また、Mosaic のソースはか なり大規模で扱いにくく、無料で利用可能ではない。Mosaic を使うには Motif が必要と思われるが、これも物事を複雑にする可能性がある。Mosaic をデモ ブラウザとして使用するのは1つの方法ではあるが、この過程から我々 が何か有益なものを得る見込みは少ない。

HotJava は非常に良い。残念ながら、SurfIt! と同様コード ベースはどちら かというとこわれものに見えるので、これを使用するというのはやや危険な提 案である。Sun は Java Developers Kit のα版で動く HotJava のバージョン をリリースした。それ以降、Netscape の Java のバージョンと互換性のある JDKの新バージョンがリリースされたが、これは HotJava で使用されるバージョ ンとは互換性がない。Sun 内部では、β版 JDK で動く HotJava のバージョン を持っているが、これはまだリリースされていない。HotJava でマルチバイト 文字列をサポートするために何が必要かは未調査。

Arena は HTML 3.0 のしっかりした処理系を提供する。Arena はC で記述され ており、グラフィックスには Xlib を利用している。これは、Arena が広範な Unix プラットフォームに移植されたという事実とあいまって、 Arena のコー ド ベースをそこそこに安定させている。適切なフォントがあれば、マルチバ イト文字列をレンダリングできるように Arena を変更するのはとても容易で あろう。また、 Arena を使って作業する利点として、我々が作成するコード をすべて W3C に返して W3C 参照ブラウザの一部にできる可能性がある。これ により我々にとっては、国際化にまつわる Web 関連の標準に影響力を持つチャ ンスが増える。さらに、我々自身もArena の他のプロジェクトにとっての適合 性を評価するのにより良いポジションにつくことができるので、 Arena を変 更するのは有益な経験になると思われる。これ以外の選択肢の中には、成果物 のコードを使ってできることが制限されるものがあると思われる。

結論

上述の理由から、CSK プロジェクトでデモ目的に使用するブラウザとしては Arena が薦められる。