ブログ内検索

by Futomi Hatano

ブラウザーの HTML5 API 実装度

HTML5 では、Canvas, Web Storage, Web Socket, Web Workers などの API がよく注目されます。しかし、HTML5 が規定する API は、このような全く新しい API だけではありません。これまで仕様が存在していないけれども、すでに広く使われてきた API や、特定のブラウザーだけが実装していた独自の API も、HTML5 仕様に盛り込まれています。実際に、Web アプリケーションを作る上では、このような基礎的な API も非常に重要となります。

W3C においては、HTML5 のさまざまな API が、独立した仕様書として分離されました。しかし、かなり多くの地味な API たちが、HTML5 仕様の中に盛り込まれています。window オブジェクト、document オブジェクト、そして、要素ごとに規定されたインタフェースは、Web アプリケーション作成の上では、必須といえます。

W3C では、HTML5 仕様が勧告になるためには、2 つ以上の実装が要件となります。つまり 2 つ以上のブラウザーが HTML5 仕様を実装していない限り、勧告になることはありません。では、現段階で、どれくらいの実装が完了しているのでしょうか。さまざまな API が、別の仕様として分離されたとはいえ、HTML5 仕様 の API は数多く存在しています。

この疑問に答えるべく、HTML5 仕様 に規定されている API が実装されているかどうかを調べる「HTML5 API チェッカー」を作ってみました。イベント・ハンドラーを除いて、仕様に記載された API をほとんど網羅しました。興味があれば、ぜひ、お試しください。

HTML5 API チェッカー を使って、ブラウザーごとにどれくらい API の実装が終わっているのかを調べてみましたので、ここに簡単にまとめます。

まず、HTML5 API チェッカー で評価する IDL 属性(プロパティ)やメソッドは、合計で 694 項目あります。そのうち、いくつの項目が実装されているかを調べて、その割合を算出しました。私が評価したブラウザーは、すべて Windows 版(Windows 7)です。

HTML5 API の実装度
ブラウザー 実装済 半実装 未実装 実装度
Chrome 5.0.366.2 dev 526 23 145 77%
Opera 10.51 484 22 188 71%
Firefox 3.6.3 442 26 226 66%
Firefox 3.7 alpha3 452 26 216 67%
Internet Explorer 8 332 38 324 51%
Internet Explorer 9 Platform Preview 350 38 306 53%
Safari 4.0.5 450 26 218 67%

この HTML5 API チェッカーは、該当の API をブラウザーが準拠しているかどうかを 3 段階でチェックしますが、その詳細についてはHTML5 API チェッカーの説明をご覧ください。

また、この HTML5 API チェッカーは、厳密に、HTML5 仕様に準拠しているかどうかを調べているわけではありません。IDL 属性(プロパティ)については、得られたオブジェクトのコンストラクタ名または型を評価しています。メソッドについては、それが Function 型かどうかを評価しているだけです。

現状では、Chrome 5 の実装度がもっとも高い結果が出ました。ここで調査した API は、俗に、DOMBOM と呼ばれますが、Web アプリケーションのベースとなる API です。各ブラウザーには、これらの API の完成度を高め、ブラウザー間の互換性が保たれるようにして頂きたいですね。

もし、HTML5 API チェッカーを使ってみて、何かお気づきの点がありましたら、ご連絡頂けると助かります。正しい評価になっていない IDL 属性やメソッドが見つかり次第、随時、HTML5 API チェッカーをアップデートしていく予定です。

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

コメントは受け付けていません。