HTML5とは、HTML(Hyper Text Markup Language)の新しいバージョンで、HTMLはWebページを記述するための言語として、広く普及している技術です。HTML4.01が1999年12月24日にW3C勧告されてからもう10年以上もHTML4.01の仕様が使われており、今回のバージョンアップは、非常に大きな注目を集めています。
では、なぜ10年以上も更新されてこなかった技術が今になってバージョンアップする事になったのでしょうか。
HTML4.01にはいくつかの問題を抱えつつも仕様としては組み込まれずにいました。
- HTMLはWebページ(文書)を記述することを目的とした仕様で、最近のWebアプリケーションの基盤となる機能については不十分である(DOM Level2 HTMLやXHTML1の仕様でHTML4.01仕様を補完している形になっている)。
- 文書構造の意味を表現しきれていない。文書の内容に関わらず、HTMLの主要なエレメント(divやp、spanなど)が使用され、表現力に欠ける。
- 仕様と実装の間に隔たりがある。仕様に書かれていないことでブラウザ側で独自に実装されているオブジェクトやプロパティが存在する。
特に、ブラウザ側での独自対応による、互換性の欠如は多くのWeb開発者を苦しめ続けてきました。かく言う私も、各ブラウザに対応するサイトを作成する際には、表示の微妙な違いや動作の違いに非常に工数を取られ辛い経験をしたものです。
こうした互換性に関する問題は、FlashやSilverlightといったプラグインを利用したRIA開発を行うことである程度は吸収することが出来ていました。
HTML5は、プラグインを使用せず、ブラウザ間の互換性の違いなどの問題も解決し、これまでのWeb開発における環境を劇的に改善させる技術と言えます。現在は草案の段階で、勧告は2012年3月を目指しているようですが、今から勉強して仕様を理解しておくと良いと思います。
HTML5に関する情報源
- HTMLクイックリファレンス
http://www.htmq.com/html5/001.shtml - HTML5.JP
http://www.html5.jp/ - HTML5 における HTML4 からの変更点
http://standards.mitsue.co.jp/resources/w3c/TR/html5-diff/ - HTML5 仕様 (英語)
http://www.w3.org/TR/html5/