Internet Explorer 9がHTML5のオフライン機能やWeb Workersを実装していないことをどう受け止めるか
マイクロソフトが開発中のInternet Explorer 9について、海外のブログで議論が起きています。発端は、モジラのPaul Rouget氏が「Is IE9 a modern browser?」(IE9はモダンブラウザなのか?)と疑問を呈したこと。
この記事ではIE9について「HTML5の互換度が低い」「CSS3への互換度も低い」「Windows Vistaと7にしか対応していない」などいくつかの理由を挙げ、モダンブラウザとは言えないとしています。
一方、ケンカを売られた側のマイクロソフトもMSDNブログにTim Sneath氏が「A Modern Browser」をポストして反論。モダンブラウザとは「GPU対応など高速に動作」「リッチなユーザー体験を提供」し、しかし「最新の仕様に対応するが(WebSocketやIndexedDBのような)まだ不安定な仕様は除外すべきである」と、IE9はモダンブラウザに該当するという意見を表明しています。
IE9はHTML5の主な機能のいくつかを実装してない
「IE9はモダンブラウザかどうか?」という議論は、「モダンブラウザ」という言葉の定義の問題ですからそれほど意味のあるやりとりには思えませんが、その中で示された別の指摘には注目すべきところがありました。それは、IE9に以下の機能が実装されていないという指摘です(主なものだけ3つ挙げ、細かいものは除きました)。
- Offline Cache
- Web Workers
- File API
Offline Cacheは、文字通りWebページやそこに含まれるスタイル、画像、スクリプトなどをローカルに保存し、オフラインでも参照できるようにする機能(参考:HTML5で、オフラインでも使えるiPod/iPhone超簡単アプリっぽいものを作ってみた。
Web Workersは、JavaScriptでマルチスレッド的な機能を実現する機能、File APIはローカルファイルを扱う機能です。
これらの機能をIE9 RCが実装していない(そしてOfflineとWeb WorkersについてはFirefox 4、Chrome 9、Safari 5、Opera 11では実装されている)ことは、HTML5/CSS3などの実装状況を調査しているWebサイト「When can I use...」でも該当機能が未対応になっていることからも間違いなさそうです。
IE9はマイクロソフト自身が「HTML5対応である」と胸を張って開発していただけに、HTML5の機能としてよくとりあげられるこれらの機能がIE9で実装されていない(そしてIE9 RCで実装されていないと言うことは、製品版でもほぼ間違いなく実装されないでしょう)ことは、僕を少々がっかりさせました。
しかし「やっぱりマイクロソフトはだめなんだ」と言うつもりはありません。例えば先日WebSocketの実装が突然中止されたようにHTML5にはまだ未成熟な部分があり、ブラウザベンダが機能ごとに取捨選択して実装することに合理性はあるためです(参考:WebSocketにセキュリティの懸念。Firefox 4とOperaで機能を無効化へ)。
それに僕の個人的感想よりも、このことをHTML5に詳しいデベロッパーの方々はどう受け止めるのか、のほうが大事です。HTML5デベロッパーのコミュニティである「HTML5-developers-jp」のメーリングリストに、ここに書いたような情報と共に「どう受け止めますか?」と質問を投げてみたところ、多くのリプライをいただきました。
デベロッパは冷静に受け止めている
メーリングリストでのやりとり内容は公開されていないので、ここでその要約を紹介したいと思います。みなさん冷静に受け止めていることが分かります。
「全ての機能を余すところ無くサポートしてほしいのは山々だが、優先度は当然あるとは思う、その観点では、例えばオフライン機能はスマートフォンでのロード時間削減などに役立つと思うので、Windows Phoneにこのままの状態でIE9が移植されるとすれば残念」
「『利用者が何を必要としており、利用者をどう幸せにさせたいか』という視点でみると、今回のIE9では(実装を)必要最小限にせざるを得なかったのではないかと思う。HTML5で固まりきれていない機能をあえて実装しないという選択をしているのでは」
「IEの場合、エンタープライズユーザーに対してどれだけサポートしきれるのか、という観点も大きいのではと思う。他のブラウザで実装が進んでいても、オーソライズドされた標準として安定していないものについては、非常に慎重な対応をしているのではないか」
「いや、エンタープライズが依存しているのはActiveXであって、IE固有の機能にはそれほど依存していないのでは?」
「重要なのは、今IE9が何を実装しているかよりも、今後どういうスパンでアップデートを提供していくのかだと思う。アップデートをいままでのような長いスパンでしか提供していけないのであれば、消えるさるのみだと思う」
「IEに期待しているのは、安定性と継続性。数あるHTML5関連のAPIの中で、そしてこの短い期間でマイクロソフトが厳選したAPIは、今後も安心して利用することができるという期待を持てる。そしてIE9だけでなく、その後のIE10も安心・安定をモットーに“継続”して新APIの実装に励むことを望みたい」
「僕らの理想のブラウザは、モダンブラウザというよりバージョンアップがそれなりに頻繁なものではないか、IE9もIE8から2年経っているので、もっと頻繁に新しいのを出してほしい」
まとめると、「いくつかの機能が実装されていないのはやや残念だが、企業内で使われることの多いIE9では理解できる、ただ今後のアップデートはもっと迅速にしてほしい」といったことになると思います。
みなさんはどう受け止められるでしょうか? Publickeyでは、なぜこのような機能の取捨選択にいたったのか、マイクロソフトにインタビューを申し込んでいるので、インタビューができましたらPublickey(もしかしたら@ITの記事)で紹介するつもりです。