03年01月19日(日)

 Macintoshの新しいブラウザSafariがとても良い感じです。パソコン関係には一家言ある勉蔵君でさえ認めたほどですから。

■【レビュー】Mac OS X用超高速ブラウザ「Safari」の実力[MyComWeb]
■Safari特集[ZDNET]
■AppleのWWWブラウザ『Safari』[Slashdot.jp]
■Surfin' Safari[WebMonkey]
■Safariの使い方情報
■サファリ レビュー[AllAboutJapan]

 ぼく、実はブラウザ大好き人間でして、新しいブラウザがリリースされたり、既存のブラウザがバージョンがアップしたりすると、必ずインストールして感触を確かめるのですが、魅かれるのはブラウザの機能面よりもむしろHTMLのレンダリングの方で、つまり「HTMLレンダリングエンジン」に興味があります。

 HTMLレンダリングエンジンとは、HTMLで記述されたハイパーテキストを解釈して画面に表示する機能を持ったライブラリのことで、ブラウザと呼ばれるものには必ず搭載されています。大きく分けると、独自仕様のものと、一般に公開されているオープンソースのものと二種類あり、オープンソースで開発が勧められているブラウザはオープンソースのエンジンを、商品として販売しているブラウザ、あるいはあくまでも独自仕様にこだわるブラウザは独自仕様のエンジンを使用する傾向にあります。

 たとえば、商品として販売しているOperaiCabは独自のレンダリングエンジンを搭載し、MozillaNetscapeChimeraGnome用のブラウザGaleonなどはMoziilaプロジェクトが開発したレンダリングエンジンGeckoを、KDE用のブラウザKonquerorは同プロジェクトによって開発が進められているKhtmlを搭載しています。InternetExplorerが使用しているのは、言うまでもなく独自のレンダリングエンジンです。

 個人的に一番好きなレンダリングエンジンはGeckoで、ぼくは自宅のMacではMozilla、職場のMacOSXではChimera、LinuxではMozillaを使用しています。全部Gecko。Chimeraはまだバグが多いけど、気に入っています。Appleが独自のWebブラウザを開発しているという噂が流れた時には、ChimeraをベースにしてGeckoが使用されるという説が有力だったし、ぼくもそう思っていたのですが、Safariが選択したのはHTMLレンダリングエンジンにはKHTML、JavaScriptコアには同じくKDEのKJSでした。そのまま使っているわけではなくて、手を加えているようですが。

 当たり前ですが、レンダリングエンジンが異なればHTMLの解釈も異なるし、そうなればユーザーが目にする実際の表示も異なります。正しいHTMLやCSSを書けば正確に表示されるかといえばそうではなく、すべてのレンダリングエンジンで同じように表示させるためには、ある程度「技」を使って正しくないHTMLやCSSを書かなくてはいけないのが現状です。対応するブラウザの種類を増やせば増やすほど、HTMLは本来の組み方を逸脱した形で書かないといけないのですよ。それっておかしくない?CSSなんて使った日にはもう大変。ブラウザを識別し、そのブラウザによって最適化したHTMLに分岐するという方法もありますが、作業は煩雑になりメンテナンスも困難になるので、そのような方法はできるだけ避けたいものです。Webに関わる仕事をしている人は、各レンダリングエンジンへの対応に頭を痛めているのではないでしょうか。

 ぼくはレンダリングエンジンがどのような形でブラウザに実装されているのか知らないので、ここから先はあくまでも素人の戯れ言と思って欲しいのですが、レンダリングエンジンを、ブラウザのライブラリのような形にすることは出来ないのですかねえ。今のように不可分な形で実装されていると、たとえばレンダリングエンジンが新しいHTMLの仕様に対応しても、ブラウザのバージョン自体を上げないと対応ができません。現在、HTMLやCSSの対応がレンダリングエンジンごとではなくてブラウザごとに区分されているのは、そのためです。

 FlashやAcrobatReaderのようにプラグインの形にするのは難しいかもしれませんが、レンダリングエンジンのインタフェースを統一して、レイアウトの実装を各エンジンに任せるように設計してライブラリの形で使用するようにすれば、ブラウザに複数のエンジンを登録しておいて、その中から任意にひとつ選ぶ事ができるだろうし、ブラウザのバージョンは古いままでエンジンのバージョンだけを上げることもできます。さらにHTMLタグでエンジンを指定できるようにすれば、HTMLがそのエンジンを選択して表示することも可能だと思います。ブラウザは、あくまでも機能の集合になり、HTMLの解釈と表示は、完全にレンダリングエンジンにゆだねる。Windows系OSではIEコンポーネントを使用したタブブラウザが多く開発されていますが、あれはブラウザとレンダリングエンジンの分離というよりは、IEの機能自体も継承しているので、どちらかといえばIEの拡張、あるいは変更に近いと思います。ぼくが言っているのは、ブラウザとレンダリングエンジンの完全なる分離であり、レンダリングエンジンの完全モジュール化ということです。

 ブラウザの機能はレイアウトに依存している部分も多いので、機能とレイアウトを完全に分離することは難しいとは思うのですが、WebデザイナーやWebアプリケーションの開発者が、意味のない無為な作業に費やしている時間を考えれると、レンダリングエンジンのモジュール化は有効な手段だと思います。ぼくは別に、HTMLやCSSの統一した解釈を!などと主張しているのではありません。それは数多く存在するべきだし、これからも増え続けて欲しいと思っています。ぼくが考えているのは、あくまでもHTMLの本来の機能とブラウザに本来の役割のことで、現状では、デザイナーも開発者も、情報やサービスを美しいデザインと優れたユーザビリティでユーザに送るという目的以外のことに時間を費やしすぎている。ある程度は仕方がないにしても、今後増え続けていくブラウザとインターネットの技術のことを考えると、そのたびごとに自分のサイトのデザインを確認しつづけなくてはいけないなんて、阿呆らしくないですか。

 長島さんのサイトを作ったときには、HTMLはバージョン4.0に準拠し、ほぼ完全にスタイルシートを使用してデザインをしました。そうなるとやはりIEは5.0以上、Netscapeは6.0以上、Mozillaはまあほとんどすべて大丈夫ですが、とりあえずある程度こちらの意図通りに見てもらおうとすると、それぐらいのブラウザが必要になります。鉄割のアクセスログを見ると、九割方はそのレベルのブラウザを使用していますね。そういうわけで、鉄割のサイトも近々対応ブラウザのバージョンを上げようかと画策しております。

 ちなみに、Safariで鉄割のサイトを見るとデザインが崩れるのですが、それはブラウザのせいではなくて、ワタクシの至らぬせいでございます。

 このような方にはどうあがいてもかなうわけありませんが、いつの日か、自分の手で思い通りのブラウザを作ってみたいものです。


Sub Content

雑記書手紹介

大根雄
栃木生まれ。
鉄割パソコン担当。
いたりいなかったりする。

最近の日記

過去の日記

鉄割アルバトロスケットへの問い合わせはこちらのフォームからお願いします

Latest Update

  • 更新はありません

お知らせ

主催の戌井昭人がこれまで発表してきた作品が単行本で出版されました。

About The Site

このサイトは、Firefox3とIE7以上で確認しています。
このサイトと鉄割アルバトロスケットに関するお問い合わせは、お問い合わせフォームまでお願いします。
現在、リニューアル作業中のため、見苦しい点とか不具合等あると思います。大目にみてください。

User Login

Links