新春特別企画

2010年のWeb標準

この記事を読むのに必要な時間:およそ 3 分

あけましておめでとうございます。株式会社ミツエーリンクスの渡邊卓です。昨年の年初,弊社木達による2009年のWeb標準をお読みになった方は,執筆者の変更に「おや?」と思われるかもしれません。今年は縁あって私が執筆を担当させていただくことになりました。

2010年も,昨年と同様にWebコンテンツのフロントエンド実装に関連した標準とその周辺の動向について,短期的な予測を書かせていただきます。引き続きよろしくお願いいたします。

さて,2010年のWeb標準については「ECMAScript 5とJavaScriptエンジン」「HTML5と周辺仕様」「CSS 2.1・CSS3 モジュールとWebブラウザアップデート」「JIS X 8341-3改訂とW3C DOM」をキーワードとして取りあげます。

ECMAScript 5とJavaScriptエンジン

去る2009年12月3日,JavaScriptの基盤としてEcma Internationalによって策定されている仕様,ECMA-262 5th Edition(ECMAScript 5, ES5)が正式な仕様として公開されました。この仕様は以前ECMAScript 3.1(ES3.1)と呼ばれていたもので,ECMA-262 3rd Edition(ECMAScript 3, ES3)の正式な後継仕様となっています。

ES5は,ES3から紆余曲折を重ねた末,ようやく策定に至った経緯があります。その一端をECMAScript Harmony邦訳という文書から垣間見ることができます。

各Webブラウザベンダは,以前からそれぞれが提供するJavaScriptエンジンにES5仕様の先行実装を行っていました。2010年は仕様の正式な公開を期に,2009年以上に各種JavaScriptエンジンへのES5仕様実装が活発になるのではないでしょうか。

とはいえ,さまざまな壁を乗り越えなければならないのは確かです。Objectオブジェクトに追加された内部プロパティを設定可能なメソッド群の処理をどうするかや,Strictモードの実装など,時間のかかりそうなものはいくつもあります。他のES5仕様実装がひと段落した後,何らかの形で停滞が訪れる可能性は考慮しておいてもよいでしょう。

現状,すべてのES5仕様を実装できたJavaScriptエンジンは出現していません。ES5仕様の一部を実装中であり,一部は実装済であるという状態です。とはいえ,ES5で追加された新機能が利用できないというわけではありません。すべての実装が完了・安定し,ノウハウが蓄積され,未対応のWebブラウザが(何らかの形で)駆逐されるのを待っていたのでは,5年後,10年後まで使えないという話になってしまいます。

以前からもそうであり,今後もそうなるのでしょうが,「実装済なら使い,未実装なら独自に実装」という設計思想に基づいたコードを利用することで,JavaScriptエンジン間の差異を吸収し,すべてではないにせよES5仕様の一部を利用する,という流れは変化しないでしょう。

JavaScriptエンジンの高速化競争も挙げておきましょう。Mozilla Firefox 3.5にはTraceMonkeyApple Safari 4にはNitroSquirrelFish Extremeが搭載されました(共に2009年リリース)。Google ChromeのV8とあわせると,3種の(それぞれ設計の異なる)JITコンパイラ搭載JavaScriptエンジンが実用段階に入ったこととなります。また2009年12月22日にテスト目的で公開されたOpera 10.5 pre-alphaにも,新たなJITコンパイラ搭載JavaScriptエンジンCarakanが搭載されました。実際にテストできる評価版は出ていないものの,IE9のJScriptエンジンにもテコ入れが行われるようです。

2010年もまた,2009年同様にJavaScriptエンジンの高速化に焦点が当てられ続けるでしょう。この競争は独自拡張問題とは切り離して考えることができるため,ユーザ側としては利点が多いという特徴があります。欠点は,コードベースが比較的新しいため,挙動が不安定になりやすいことでしょうか。

HTML5と周辺仕様

2009年は,特にGoogleが中心となってHTML5と周辺仕様の啓蒙活動が実施されました。その結果,「HTML5」というワードの認知度は高まったように感じられます。Webブラウザベンダや実際の利用者による議論も,より活発化してきています。W3Cが直々にHTML5 Japanese Interest Groupを発足させたり,Googleも準公式コミュニティとしてHTML5-Developers-jpを発足させたりするなど,日本語で議論が行える環境の整備も行われました。

W3CではXHTML 2 WGの活動終了が告知されました。XHTML 2は策定が停止され,XML 構文で表現した HTMLとしてはHTML5(XHTML5として利用)が利用されることになります。XHTMLの今後に関しては,W3CによるFAQ邦訳を参照してください。

このように,2009年中にHTML5と周辺仕様をとりまく状況は大きな変化を遂げました。

しかしながら,2009年中から「HTML5」が有名になった弊害も徐々に現れてきました。誤解・誤用です。一時期,section要素が本来の意味づけとは別の用途で乱用される事例が多発し,section要素を削除すべきでは」という議論が出てくるまでに火種が拡大したこともありました。

2009年がそうであったように,2010年もまた「HTML5で作成してみた」ことが少なからず話題となっていくでしょう。それは,ノウハウの蓄積やフィードバックを返す材料になるという点で,非常に有意義なことではあります。

と同時に,懸念すべき点でもあります。「HTML5で作成してみた」文書に何らかの誤りがあった場合,それらがすぐに修正されない可能性があるからです。比較的フットワークの軽い小規模なWebサイトならば,指摘を受けた関係者が即座に修正をかければ問題ないでしょう。しかし,比較的大規模なサイトでは――その運用体制にもよりますが――一旦構築してしまった後は,なかなか大規模な修正をかけられない場合があります。こうした修正されないままの誤ったHTML5文書が増えることは,好ましくありません。

HTML5があるからといって,HTML 4.01XHTMLファミリISO-HTMLといった勧告・策定済(X)HTML仕様が消滅するわけではありません。これらは,すべて2010年以降も残り続けます。HTML5は,あくまでも勧告・策定済(X)HTML仕様との(さまざまな意味における)後方互換性を保ちつつも追加,明記,改訂を行った(X)HTML仕様のひとつであり,過去の仕様を放棄するためのものではありません。

まだHTML5と周辺仕様は不安定です。すぐに利用する必要はありませんし,利用そのものが推奨されているわけでもありません。引き続き,安定した仕様として勧告・策定済(X)HTML仕様を利用し続けることができます。2010年中は,よほど特別な理由がない限りHTML5を採用する必要はないでしょう。

著者プロフィール

渡邉卓(わたなべすぐる)

株式会社ミツエーリンクス R&D 本部所属のフロントエンド・エンジニア。Web サイト設計・実装,JavaScript プログラミングに従事。MJL (MITSUE-LINKS JavaScript Library) 設計・実装担当。

コメント

コメントの記入