ブログ内検索

by Futomi Hatano

Internet Explorer 9 Preview と HTML5

ラスベガスで開催されている Microsoft の MIX10 で、日本時間の今朝、Internet Explorer の次期バージョンとなる Internet Explorer 9 が紹介されました。すでに、ブログやメディアで MIX10 のレポートが出てきていますので、ご存じの方も多いことでしょう。あわせて、IE9 Preview 版が公開されました。

ここでは、Internet Explorer 9 の HTML5 やその他 W3C 標準のサポートについて見ていきましょう。詳細は、Internet Explorer 9: Testing CenterIE9 プレビュー・ガイド に詳しく公開されています。

SVG

今回の Preview 版で最も大きな目玉は、SVG 対応でしょう。SVG といえば、これまで IE 以外のメジャー・ブラウザーではすでにサポートされていたため、大きなサプライズではありませんが、Internet Explorer 9 は、他のブラウザーと違い、SVG 1.1 第2版を網羅的に対応したようです。これまで最大のシェアを誇る IE が SVG に対応していなかったこともあり、SVG の利用は限定的でしたが、IE9 が世に浸透する頃には、SVG はウェブ制作においては、メジャーなテクノロジーとなっていくことが期待されます。

また、IE9 では、インライン SVG をサポートしています。HTML5 では、HTML マークアップの中に、svg 要素をそのまま入れて使うことができるよう規定されています。現状、Firefox 3.6 で、設定パラメータを変更することでインライン SVG が機能するようにすることができますが、少なくとも、IE9 Preview 版では、特に設定を変更しなくても、インライン SVG が機能します。このページを IE9 Preview 版でご覧頂ければ、この下に緑色の矩形が表示されるはずです。

これは、このページの HTML の中に、次のコードを直接マークアップしています。

<svg>
<rect x="41" y="42" fill="#21983A" stroke="#000000" width="75" height="66"/>
</svg>

CSS3

CSS3 は W3C にて、いくつかのモジュールに分割して策定されていますが、IE9 Preview 版では、そのうち、CSS Backgrounds and Borders Module Level 3 をサポートしました。また、あわせて、Selectors Level 3 もサポートしています。

CSS Backgrounds and Borders Module Level 3 で最も注目される機能は、border-radius プロパティでしょう。要素のボーダーの角を丸くすることができます。これまで、これを実現するために、さまざまなテクニックが生み出されてきましたが、IE9 が世に浸透した時には、そのような努力も過去のものになっていることでしょう。

Selectors Level 3 は、CSS で要素を特定するためのセレクタの規定です。これまで IE がサポートしていたセレクタは限定的だったため、ウェブ・デザインにおいては、CSS を IE 用に別に用意する必要がありました。IE9 の Selectors Level 3 のサポートは、非常に歓迎すべきところではないでしょうか。

DOM

IE9 では、W3C の DOM についても多くをサポートするようになりました。今回、サポートされたのは、DOM Level2 Core, DOM Level2 Events, DOM Level2 Style です。

これは、JavaScript を使ったウェブ・アプリケーションを作るウェブ・ディベロッパーにとっては、待望の機能ではないでしょうか。特に、addEventListener() メソッドの実装は大歓迎でしょう。ウェブ・アプリケーションを作成する際に、イベントのハンドリングは頻繁に出てきます。IE に対応するため、イベント・リスナーの扱いでは、処理を文岐しなければいけませんでした。IE9 からは、addEventListener() に限らず、さまざまなイベント・ハンドリングで、ブラウザーの差異を考慮せず、簡潔にスクリプトを書くことができるようになります。

HTML5 Text Selection API

IE9 は、HTML5 の Text Selection API もサポートしました。現時点ですべてをサポートしているのかについては、私自身、まだ確認していませんが、getSelection() メソッドや、selectionStart, selectionEnd プロパティには対応しているようです。

HTML5 Text Selection API がサポートされることで、WYSIWYG といったドキュメント編集などのリッチなウェブ・アプリケーションが期待されます。

未知の要素の扱い

これまで IE は、未知の要素に遭遇すると、ウェブ制作者の期待に反した DOM を構成してしまいました。このおかげで、HTML5 のマークアップでは、CSS がうまく適用できないという問題がありました。この回避策として、HTML5 新要素に対して、createElement() メソッドを使って、ダミーの要素を生成するというハックが使われてきました。しかし、JavaScript が有効でないと、このハックは機能しないという問題点がありました。

IE9 では、このような未知の要素に遭遇した場合でも、ウェブ制作者の期待通りの DOM を構成するようになりました。IE9 Preview版で、HTML5 の新要素を認識しているわけではありませんが、少なくとも、IE9 では、このようなハックを使うことなく、HTML5 の新要素にスタイルを適用できるようになります。

ビデオ

HTML5 といえば、やはりvideo 要素が注目されますが、IE9 Preview 版では実装されていませんでした。しかし、MIX10 では、実際に video 要素を使ったビデオ再生のデモが実演され、IE9 正式版リリースまでには、その実装が期待されます。ビデオ・コーデックは、現在のところは、H.264 のようですが、Ogg に対応するかどうかについては、気になるところですね。

マルチ・コア CPU とハードウェア・アクセラレーション

IE9 がサポートする標準仕様の話ではありませんが、IE9 を語る上で、欠かすことができないのが、GPUのハードウェア支援機能を利用するようになった点でしょう。このおかげで、レンダリングの速度が劇的に向上しただけでなく、動きが発生しても、それをなめらかに再生できるようになります。また、マルチコア CPU を活用している点も重要でしょう。Chakra と呼ばれる IE9 の新 JavaScript エンジンは、マルチコア CPU では、バックグラウンドでスクリプトをコンパイルするようです。マルチコア CPU のメリットを最大限に活かした設計で、JavaScript エンジンが作り直されているということです。

ウェブが、アプリケーション・プラットフォームとして期待されている中、スクリプトのパフォーマンスは非常に重要です。これまで他のブラウザーは JavaScript エンジンのパフォーマンスを劇的に改善してきましたが、これで、IE もそれに仲間入りというわけです。Microsoft のブログで公開されているWebKit SunSpider JavaScript ベンチマークの結果によると、Opera 10.5 や Chrome 4, 5や Safari 4 には及ばなかったものの、Firefox 3.6, 3.7 Alpha2 よりは良い結果となっています。正式版リリースに向けて、さらなるパフォーマンス改善が期待できそうです。

まとめ

マイクロソフトが IE9 の開発においてウェブ標準を重視することは以前より伝えられてきたことではありますが、今回の IE9 Preview 版で、それが本気であることが証明されたといえるでしょう。マイクロソフトは、これまでなかなか重い腰を上げてきませんでしたが、いざ、動き出せば、徹底的に実行するという印象を強く受けました。

とはいえ、ウェブ・アプリケーション開発という視点から見ると、他のブラウザーと比べて、サポート対象の API が足りないと言えるでしょう。私個人的には、Canvas, File API, HTML5 DnD の完全サポート、Web WorkersHTML5 Forms をサポートを強く望んでいたのですが、この点に関しては、期待はずれとなってしまいました。もし IE9 でサポートされなかったら、その次の IE10 は何年も先の話になってしまいます。IE9 正式リリースに向けて、マイクロソフト社には、是非、Preview 版で未サポートだった API を追加して欲しいと願うばかりです。

この投稿は 2010年3月17日 水曜日 10:17 AM に ブラウザー カテゴリーに公開されました。 この投稿へのコメントは RSS 2.0 フィードで購読することができます。 現在コメント、トラックバックともに受け付けておりません。