IE 9がHTML5の機能の一部を実装しない理由
新野淳一 Publickey2011/3/14
IE 9でHTML5の機能のオフラインアプリとCSS3関連の一部が実装されていないのはなぜか? 背景を日本マイクロソフトに聞いた
マイクロソフトが開発しているInternet Explorer 9(以下、IE 9)の正式版が、日本時間で3月15日の火曜日午後1時から公開される(注)。同社は最新のWeb標準であるHTML5に注力することを表明しており、IE 9はその戦略に沿ってHTML5、CSS3といった最新のWeb標準に対応する機能を数多く搭載する予定だ。
注:記事公開後、日本マイクロソフトは、IE 9日本語版の提供の延期を表明しています(詳細:Internet Explorer 9日本語版、製品版提供を延期)。
また、IE 9はWindows Phone 7(以下、Phone 7)にも移植される予定になっている。マイクロソフトのインターネット戦略の要(かなめ)となる重要なソフトウェアである。
しかし、現在公開されている製品候補版のIE 9では、Firefox、Safari、Chromeなどの競合Webブラウザの多くではすでに実装されているHTML5の主要な機能のいくつかが実装されていない。
HTML5関連の主な機能をW3Cが公開しているロゴを参考にすると以下となる(ロゴの左側のアイコンから順に以下の機能を示している)。
- 接続性(Web Sockets、Server-Setn Eventsなど)
- CSS3およびスタイリング(CSS3、Web Open Fonts Formatなど)
- デバイスへのアクセス(位置情報の取得など)
- 3Dおよび画面効果(WebGL、CSSの3D機能など)
- マルチメディア(Audio/Videoタグなど)
- 性能向上や機能統合(Web Workers、XHR2など)
- セマンティクス(Microdataなど)
- オフライン&ストレージ(App Cache、ローカルストレージ、IndexedDBなど)
このうち、オフラインでもWebページやWebアプリケーションが利用できるオフライン関連機能、JavaScriptのマルチスレッド機能を提供するWeb Workers、そしてCSS3のいくつかがIE 9製品候補版では実装されていない。
HTML5に積極的にコミットしたはずのマイクロソフトは、なぜIE 9で一部の機能を実装しなかったのか、あるいはできなかったのか。そしてPhone 7へのIE 9移植は何を意味するのか? その背景などを日本マイクロソフトのコンシューマー&オンラインマーケティング統括本部 コンシューマーWindows本部 シニアプロダクトマネージャー 溝口宗太郎氏と同社 デベロッパー&プラットフォーム統括本部 Webプラットフォーム推進部 UXエバンジェリスト 春日井良隆氏に聞いた。
―― まずは事実確認として、IE 9の正式版でもHTML5のオフライン機能などは実装されていない、ということは変わらないのでしょうか。
日本マイクロソフト デベロッパー&プラットフォーム統括本部 Webプラットフォーム推進部 UXエバンジェリスト 春日井良隆氏 |
春日井 ご指摘の通り、大まかにいえば、オフラインにかかわるもの、それからCSS3のいくつかの機能については実装されません。
先にCSS3について説明すると、CSSのプロパティでベンダプレフィックスがついているもの(他のブラウザでCSSプロパティの前に「-moz-」や「-webkit-」などを指定するもの。試験的実装の場合にこのようなプレフィックスが用いられる)についているものは実装されていません。
IE 9では「Same Markup」を掲げていて、それはどのブラウザであっても同一の記述が同じようにレンダリングされるべきだということ。つまりそもそもCSSでベンダプレフィックスが必要なものはこのコンセプトに外れているので、そういうプロパティに関してはIE 9ではサポートしていません。
そしてもう1つがオフラインアプリケーション系。これは関連する機能の1つであるIndexedDBの仕様がまだ安定していないので、それにまつわるオフラインアプリケーション関係が今回は実装されていません。
溝口 IEはエンドユーザー、開発者、法人など非常に多くのレベルのお客様をカバーしています。そのためどうしても新しい仕様、機能に対する実装はコンサバ(保守的)になっています。
日本マイクロソフトのコンシューマー&オンラインマーケティング統括本部 コンシューマーWindows本部 シニアプロダクトマネージャー 溝口宗太郎氏 |
基本的に実装は、勧告候補になって安定していると思われる仕様や、変更されるおそれがないもの、あるいはβ版以降で優先的に実装してほしいというで要望が高くなっているものを優先しています。
機能としていちど実装してしまったものは、特に法人ユーザーやSIerなどはそれに準拠した形で開発されるので、そのあとで変更があると大変なことになります。そうならないように保守的になります。
ただ、IEの強化は決してIE 9で終わるわけではありませんので、HTML5/CSS3などの対応については引き続き力をいれていくことは間違いありません。
春日井 ご存じかもしれませんが「Interoperability Bridges and Labs Center」というマイクロソフトが運営するWebサイトがあります。マイクロソフト製品のさまざまな互換性についての情報を提供しているのですが、ここの「HTML5 Labs」というところで、IndexedDBとWebSocketsのプロトタイプを公開しています。ですから、いずれIEでもこれらの機能がサポートされることになると思います。
―― 実はIE 9でHTML5の主な機能でもあるオフライン機能やWebWorkersが実装されていない、ということに気が付いたのは最近でした。HTML5対応を強調している中で、何が実装されており、何は実装されていなかったのかというアナウンスがほとんどなかったのはなぜなのでしょう?
春日井 特に隠していたわけではなく、IE 9という新しいブラウザの紹介で手いっぱいで、そこまで手が回っていなかったというところだと思います。もちろん各APIやプロパティについて個別に聞かれた場合にはその都度答えてはいたのですが。
溝口 IE 9の実装がどうしてもコンサバになるのは、例えばオンラインバンクなどでIEを使って預金ができなかった、ということがないようにしないといけないからで、例えばWindows 7のサポートは購入後90日ですが、IEではいつでも電話のサポートを受けています。その点ではOSのサポートよりしっかりしています。
特に今回は、新しいWebブラウザが法人市場にどれだけインパクトがあるのか、ということを身にしみて感じています。
春日井 法人に対してWebブラウザのサポートをきちんと提供するのは弊社の役割でもあり、IEでやらなくてはならないことだと思っています。
―― IE 9はPhone 7にも移植されると聞きました。
春日井 はい、次期Phone 7のWebブラウザがIE 9ベースになります。これはどういうことかというと、IEのレンダリングエンジンであるTridentがPhone 7で動作する、ということで、GPUアクセラレーションが使われる、というのがほかにない特徴になると思います。
実はPhone 7の動作環境はけっこうハードルが高くなっています。
これは例えるならモンスターハンター(モンハン)ができるくらいの能力だそうです。そうしたパワーがブラウザのレンダリング能力にも効いてくると思います。そして、Androidで問題になっている画面解像度のバリエーションやボタンのバリエーションまで決まっています。
溝口 マイクロソフトの「3スクリーン+クラウド」では、PC、スマートフォン、セットトップボックスのようなデバイスなどで同じコンテンツを同じように表示し、同じエクスペリエンスを提供する構想ですが、IE 9の「Same Markup」というコンセプトは、ほかのWebブラウザとの互換性だけでなく、ほかのデバイスとの互換性についてでもあります。つまりIE 9がPhone 7に移植されることは、PCでもスマートフォンでも同じページが見られる、ということになるのです。
■ @IT関連記事
Webの3つの問題を解決する「HTML5」とは何なのか HTML5“とか”アプリ開発入門(1) 最近よく目にする「HTML5」という言葉。JavaScirptのAPIやCSS3、SVGなどを含め、全体的な概要と、その意義をお伝えします |
標準化と実装が進む次世代Web規格「HTML5」とは? 用語解説(12) ChromeやOperaなどのWebブラウザへの実装が始まっているHTML5。何が新しくなるのか? HTMLの歴史を振り返りながら、その目的や特徴を解説する 「Windows Server Insider」フォーラム 2010/8/19
|
デザイナは要注目! 明日から語れるHTML5&CSS3 一撃デザインの種明かし(13) Webデザイナのみならずプログラマも必修となるHTML5&CSS3について、具体的な表現の例や、タグ、今後の予想、ツールなどを紹介します |
HTML5のlocalStorageでiPhone用Webアプリ高速化 iPhoneで動かす業務用Webアプリ開発入門(4) iOSのSafariブラウザ内にデータを記録する機能を使いデータの先読みとキャッシュを実現しアプリの体感速度を向上します 「Smart & Social」フォーラム 2011/3/2 |
Node.jsの衝撃とWebSocketが拓く未来 WebSocketで目指せ! リアルタイムWeb(1) 注目の新規格「WebSocket」、登場の背景や基本的な使い方、サービスの例、実装状況などを解説する 「Coding Edge」フォーラム 2010/10/5 |
HTML5で何が変わる? InfoTalk#17 フォトレポート Development Photography(6) HTML5で、アプリとWebの関係は、JavaScriptはどう変わる? コネクティ若狭氏&サイボウズ・ラボ竹迫氏が登壇した勉強会をレポート |
Webブラウザ非互換性の温床となったのは何か? AcidテストとWebブラウザの仕組み(前編) IE 8.0やFirefox 3.0の出現で、注目されるWebブラウザ。いまこそ、復習しよう。Webブラウザの非互換性の発生源を探ろう 「リッチクライアント & 帳票」フ ォーラム 2008/7/3 |
新野 淳一(にいの じゅんいち)Publickey アスキーでリレーショナルデータベースInformixのテクニカルサポートを担当し、Windows Magazine編集部でnetPCを創刊、ASCII NT副編集長となる。フリーランスを経て、2000年にアットマーク・アイティの創立に参画、取締役に就任し、Webサイト@ITの立ち上げを行う。2008年再びフリーランスとなり、2009年、Webサイト「Publickey」を立ち上げる |
[an error occurred while processing this directive]
「デザインハック」コーナーへ |
- GASで棒、円、折れ線など各種グラフを作成、変更、削除するための基本 (2017/7/12)
資料を作る際に、「グラフ」は必要不可欠な存在だ。今回は、「グラフの新規作成」「グラフの変更」「グラフの削除」について解説する - GET/POSTでフォームから送信された値をPHPで受け取る「定義済みの変数」【更新】 (2017/7/10)
HTMLのフォーム機能についておさらいし、get/postメソッドなどの内容を連想配列で格納するPHPの「定義済みの変数」の中身や、フォーム送信値の取り扱いにおける注意点について解説します【PHP 7.1含め2017年の情報に合うように更新】 - PHPのfor文&ループ脱出のbreak/スキップのcontinue【更新】 (2017/6/26)
素数判定のロジックからbreak文やcontinue文の利点と使い方を解説。for文を使ったループ処理の基本とwhile文との違い、無限ループなども併せて紹介します【PHP 7.1含め2017年の情報に合うように更新】 - Spreadsheetデータの選択、削除、挿入、コピー、移動、ソート (2017/6/12)
Spreadsheetデータの選択、挿入、削除、コピー、移動、ソートに使うメソッドの使い方などを解説する
|
|