ニュース
» 2010年03月25日 17時30分 UPDATE

MIX10:IE9で探るMicrosoftとHTML5の関係 (1/3)

MX10で性能の一端を公開したInternet Explorer 9。その重要な機能の1つが「HTML5」対応だ。次世代Webブラウザが対応する最新HTMLでWebの世界はどう変わる?

[鈴木淳也(Junya Suzuki),ITmedia]
kn_html5_01.jpg MIX10で初めて公開されたIE9

 MIX10で、GPUによるハードウェアアクセラレーションをサポートして、レンダリング速度が大幅に高速化されたInternet Explorer 9(以下、IE9)のプレビューを紹介した(詳細はInternet Explorer 9はGPUで武装するを参照のこと)。だが、その中で登場した「HTML5」「SVG」「Acid3」といったキーワードについて、あまり聞き覚えがないというユーザーもいるだろう。これらキーワードは「標準化」というテーマと密接な関係がある。

 かつて、Internet Explorerは「Netscape Navigator」とWebブラウザの覇権を争い、激しさは「ブラウザ戦争」と呼ばれていたほどだ。その当時から現在にいたるまで、独自路線を歩むIEと業界標準を重視する競合他社との綱引きが続いているのだ。標準化を巡る争いはMicrosoftだけでなく、“標準化重視”で一致団結しているはずの競合企業間でも、それぞれが開発する製品の強みを生かすべく、小競り合いを続けている。この記事では、「標準化とHTML5」をテーマに、IE9に関係する数々のキーワードや、標準化に向けてWebブラウザ開発企業がどのように動いているか、そして、HTML5対応に向けて、Webブラウザのトレンドがどの方向に進展するのかについて解説しよう。

まずは「HTML」と「標準化」を整理する

 Webページを記述するための言語として利用されているHTML(Hyper Text Markup Language)は、「W3C」という標準化団体によってタグを含む記述方法が定義されている。しかし、そこで定義されるタグの解釈で微妙な違いがあったり、Webブラウザそれぞれで独自の表示方法を実装することで同じWebページでも表示されるレイアウトが異なったり、あるいは表示速度(実行速度)に大きな違いが出てきたりと、標準化しているはずなのに挙動が異なることも多い。

 実行速度や表示のわずかな違いであれば「Webブラウザの個性」と扱ってもいいが、Webブラウザによってページのレイアウトが大幅に崩れたり、実行速度の違いがWebブラウザで動くアプリケーションの動作に大きく影響したりすると、Webページを設計するプログラマなどの負担となって跳ね返ってくる。例えば、IEとそれ以外のWebブラウザ用に別々のページを作成して、実行時にWebブラウザを自動で判別して表示するページを切り替えるといった処理を加えなければならない。プログラマがこうした工夫を行わなかった場合、Webページによっては特定のブラウザでしか動作しない事態となり、ユーザーは表示可能なWebブラウザを自分で切り替えなければならない。こういう負担と手間、使いにくさを避けるためにも「HTMLの標準化」が必要になる。

 そのためにW3Cが1994年に設立された。それ以降、HTMLはバージョンアップを重ね、原稿執筆時点で標準は2000年に策定されたHTML 4.01となっている。HTML 4.01をさらにブラッシュアップし、要望が多い機能を追加して検討を重ねているのがバージョン5.0こと「HTML5」だ。HTML5は現在ドラフト段階で、標準化を目指して策定作業を進めている。

 HTML5の重要な目標の1つに、高機能なユーザーインタフェースを備えたWebブラウザベースのアプリケーション「RIA」(Rich Internet Application)をHTMLで実装することがある。文字や画像のはめ込みとレイアウト能力しか持たない従来のHTMLでは、グラフの描画や簡単なアニメーションを実現することさえ難しい。そこでAdobeの「Flash」やMicrosoftの「Silverlight」といったプラグイン技術が登場したわけだが、このようなプラグインなしでRIAを実現するのがHTML5と期待されている。

「HTML5」は何がすごいのか

 従来バージョンと比較したHTML5の主な特徴は以下のようになる。なお、W3Cには現在ドラフト段階のHTML5について、従来バージョンとの違いを細かく記した文書が掲載されている。

  • <CENTER>など一部タグの廃止(CSSへの統合)
  • フレームの廃止(ユーザビリティの問題)
  • ルビ用の<RUBY>タグや、意味情報を追加する<HEADER>などのタグを新規追加
  • <CANVAS>タグのサポート(ビットマップ描画が可能に)
  • <VIDEO><AUDIO>タグのサポート(プラグインなしで音声/動画が再生可能に)
  • オフライン動作やローカルストレージへのアクセス機能をサポート
  • ドラッグ&ドロップのサポート


 シンプル化を図りつつ、RIA機能を実装するのがHTML5の特徴だ。特に重要なのが「<CANVAS>タグのサポート」「<VIDEO><AUDIO>タグのサポート」「オフライン動作/ローカルストレージアクセス」の3項目だ。「Webページを表示する」だけという従来からあるWebブラウザの“枠”から飛び出し、HTML5で記述されたWebページは普通のアプリケーションのように動作し、WebブラウザはOS的な役割を果たすことになる。GoogleがHTML5の導入に熱心な一方で、MicrosoftがこれまでHTML5に対してこれまで考えを表明してこなかったのも、WindowsというMicrosoftの強みを奪う技術の導入に同社が消極的だったから……と“推測”されるほどだったが、MIX10でIE9のHTML5対応を強くアピールしたわけで、いい意味で“推測”が外れたことになる(と、期待したいところだが……)。

 Webページのレイアウトや挙動を定義する規格として普及している「CSS」(Cascading Style Sheets)と「DOM」(Document Object Model)は、HTMLと非常に密接な関係にあり、Webページの補助的な記述言語といえる。例えば、Webページの記述を1つのHTMLファイルですべてを表現しても構わないが、フォントのサイズや色などよく使われるされる指定や、3段組などのページのレイアウトに関する指定を独立したファイル(あるいはセクション)にまとめるというように、データと属性を分離することでデータの汎用性や柔軟性、コードの見やすさを向上できる。ここで「データ」がHTMLだとすれば「属性」がCSSになる。

 このように、データの属性を定義する記述言語であるCSSは、W3Cによって3つのレベルが定義されており、最新の「CSS3」は現在策定段階にある。なおCSS2には、仕様の不具合を修正した「CSS2.1」という派生バージョンも存在する。

 HTMLとCSSと比べて「DOM」の役割は少し異なる。一般に、HTMLで記述されたWebページは静的なもので、それだけでは何の動きも示さないが、「JavaScript」などの技術と組み合わせることでユーザーの操作に応じて画面が動的に変化したり(マウスカーソルを画像に重ねると色が変わったり違う画像が表示されるなど)、サーバとの通信が可能となる。DOMは、こうしたJavaScriptや外部の記述言語がHTMLに記述されたデータやWebブラウザに保持されるデータ(ステータス:状態情報)などを取得する手段を提供する一種のインタフェースを定義するものだ。HTMLやXMLに対応するAPI(Application Programming Interface)と紹介されることも多い。CSSと同じく、DOMも3つのレベルが定義されており、それぞれに「Core」「Range」「Events」などの機能が割り当てられている。

       1|2|3 次のページへ

Copyright© 2016 ITmedia, Inc. All Rights Reserved.