HTML5 でまず気付くのは、単体技術でないことだ。第5版となる HTML、CSS3、多数の JavaScript API をといった多くの技術要素で構成されている。 HTML5 を利用すると、デスクトップ上で実現されていたマルチメディア機能を Web 上でも実現可能になる。HTML5 技術の登場前は、こうした機能はデスクトップでしか実現できなかった。

HTML5 によって開発者は、デスクトップ アプリケーションのように動くアプリケーションや Web サイトを作り、Web プラットフォームでユーザー全員へ一度に提供できる。ユーザーは複数デバイスにアプリケーションをダウンロードする必要がなく、リンクかボタンをクリックするだけでアプリケーションを起動できる。最新アップデートの有無を気にする必要もない。

HTML5 の興味深い側面は、インターネットに接続されていないときや、システムがオフラインのときでも作動可能なアプリケーションを作れる点である。種明かしをすると、リソースとコンテンツをローカル環境に保存できるからだ。その結果、どこにいても、システムのオンライン/オフラインにかかわらずアプリケーションが動く。このオフライン機能のもう1つの長所は、データをキャッシュに保管できたり、ページをリロードしてもデータが保持されたりする点だ。

HTML5 では、アニメーション、ゲーム、ビデオなど、多種多様なグラフィック系エレメントが使える。明るさや影を付けたりする負荷の高いエフェクト、3次元(3D)、特殊効果、ベクター グラフィックスなどさえ利用可能だ。大きな進展があったのは JavaScript エンジンで、こうした高負荷アプリケーションをリアルタイム実行できるほど高速化された。最新 Web ブラウザは、スムーズなレンダリングやトランジションのためにハードウェア アクセラレーション対応レンダリング エンジンを採用している。これはつまり、Web ブラウザが GPU(Graphics Processing Unit)で計算を高速処理し、ユーザー エクスペリエンスを向上させているのだ。

HTML5 タグは下位互換性を維持しており、HTML4 コンテンツでも HTML5 のコンテンツを崩さずに済む。従来の HTML 構造やフォーマットも引き続きサポートしている。

新しいタグもいくつか追加された。サウンド用の <audio>、ビデオ再生用の <video>、動的グラフィックス用の <canvas> などがある。HTML5 では SVG や MathML グラフィックスのインライン組み込みや HTML コンテンツ内でのリンク付けが可能になった。その結果、開発者は画像を用意することなく複雑なイメージを組み込めるし、サードパーティのプラットフォームに頼る必要もない。すべてのコンテンツは1つの HTML ファイルに含められる。JavaSript を使って SVG イメージを処理したり、画像のさまざまなパラメータを操作したりすることも可能だ。

HTML5 なら Web ページにオーディオを直接追加することも可能だ。HTML や JavaScript でエレメントのコントロールが可能になっているが、仕様ではサポートされるコーデックのタイプが示されておらず、それはブラウザによって異なる。HTML5 を使った開発を開始する前にここをチェックしておきたい。

HTML5 では Web ページにビデオを直接組み込める。ただ、ビデオ エレメントは標準化されているものの、ビデオ コーデックのサポート方法は Web ブラウザによって異なる。そのため、開発プロセスのなかでサポート状況のチェックが重要である。

また、HTML5 には新しいタイプのフォームエレメントもある。これにより、所定の入力タイプを表示して、実行は Web ブラウザに任せられる。入力オプションとしては、電話番号、電子メール、URL、日付、時間、カラーなどがあり、それぞれにバリエーションが用意されている。

Canvas エレメントは、Web ブラウザ内で動的スクリプト対応のグラフィックスをレンダリングできる。JavaScript を利用することで、画面上のカラー、ベクトル、ピクセルをコントロールできるようになる。しかも、シンプルなイラストから複雑なビジュアル エフェクトまで対応可能だ。

セマンティック マークアップ タグも進化の1つである。これにより、構造に意味を持たせた(セマンティックな)コンテンツの構造化が可能となる。タグの例としては、<article>、<section>、<header>、<footer>、<aside>、<nav>、<figure> などがある。これらタグを使うと、重要なエレメントをセクションに分けられる。検索エンジンやアグリゲータにとっても有用だ。

DOCTYPE は簡略化され、HTML5 ドキュメントそのものが有効な XML 構造になった。HTML5 コンテンツは XML ベースであり、つまり XML フォーマットのルールに従う必要があることを意味する。

HTML5 は標準化されていないものの、iOS、Android 、BlackBerry 6、そして HP/Palm WebOS などの環境で使用されている事実を認識しよう。すべての主要 Web ブラウザ(Safari、Chrome、Opera、Internet Explorer)が HTML5 をサポートしているが、クロス プラットフォームというわけではない。そのため、さまざまなデバイスやプラットフォームなどでの実証が重要だ。望み通りの結果を確実に得るには、開発中にユーザーからフィードバックを得るとよいだろう。

参考

・HTML5 と HTML4の詳しい違いについては、HTML5 Differences from HTML4 を参照されたい。
HTML5 Rocks
・HTML5、CSS3 and JavaScript