はじめに
この連載では、「HTML5」をとりあげ、全6回に分けて、これまでの技術とどのような違いがあるのか、具体的にサンプルのコードを示しながら解説していきます。
HTML5はなぜ注目されているのか
HTML5は、今やウェブ業界の流行語といっても良いほどの過熱ぶりです。HTML5は、名前の通り、HTML4の後継に当たる仕様です。とはいえ、HTML5に注目しているのは、ホームページを作成するウェブ制作者だけではありません。ウェブ業界に限らず、あらゆるIT関連業界で注目を浴びています。なぜ、これほどまでにHTML5が注目を浴びているのでしょうか。
この理由は、大きく分けて2つあります。1つはマークアップです。もう1つはAPIです。
マークアップの仕様を更新
まずは、マークアップの視点から見ていきましょう。これは、とりわけウェブ制作者、中でもウェブページ製作の現場において重要です。これまでウェブページとは、W3Cという標準化団体が策定したHTML4やXHTML1.0と呼ばれるマークアップの仕様に基づいて作られてきました。HTML5は、その後継に当たるわけですから、当然のことながら、HTML5仕様ではマークアップに関する仕様が更新されています。HTML5では、さまざまな要素が追加されました。中でも、JavaScriptから図を描くために使うcanvas要素や、ビデオやオーディオを再生できるvideo要素、audio要素は注目の的です。
<audio src="audio.mp3" controls></audio>
<canvas width="300" height="150"></canvas> <script> var canvas = document.querySelector("canvas"); var context = canvas.getContext("2d"); context.fillStyle = "red"; context.beginPath(); context.arc(150, 75, 50, 0, Math.PI*2, true); context.fill(); </script>
しかし、HTML5には、このような派手な機能を持った要素だけでなく、文書構造を定義するための要素や、言葉に意味を与える要素が数多く追加されました。
HTML4の最終的な仕様はHTML4.01ですが、これは1999年に勧告に至っています。その後、XHTML1.0が勧告に至っていますが、基本的に利用できる要素に大きな違いはありません。インターネットの世界は、ドッグ・イヤーと言われる通り、移り変わりが早いことが特徴に挙げられますが、一方、HTMLは、マークアップという観点から言えば、10年以上も進化が無く、同じ仕様に基づいてウェブページが作られてきたのです。
もちろん、W3Cは、この10年の間に、XHTML1.1や、それに付随する仕様、そして、XHTML2.0という仕様の策定を進めてきました。ところが、ウェブを完全なXMLベースのマークアップにするという方針は、ブラウザ・ベンダーもその実装にはあまり積極的ではなく、実質的には、ウェブ製作の現場では受け入れられなかったのは、皆さんもご存じの通りです。
APIの標準化
次に、HTML5が注目されるもう1つの理由であるAPIの視点から見てみましょう。APIは、ウェブページで言えば、JavaScriptから扱うことができるさまざまな機能を指します。JavaScriptの世界では、この10年で大きな転機がありました。ウェブ業界の人なら誰でも知っているAJAXです。当時、AJAXは新たに開発されたテクノロジーではなく、それまで誰からも興味を持たれることなく眠っていた古い機能を掘り起こしたものでした。AJAXに使われるXMLHttpRequestは、Internet Explorer 5からMicrosoft社により実装されていた古いテクノロジーです。その後、他のブラウザも追随してXMLHttpRequestを実装するに至ったのです。それから、JavaScriptを使った動的なページや、ウェブ・アプリケーションが当たり前のようになってきました。しかし、JavaScriptから扱えるAPIは、これといったウェブ標準がなく、ブラウザによって大きくその実装が違うこともありました。そのため、ウェブ製作の現場ではクロスブラウザ対策が必要となり、JavaScriptによるウェブ・アプリケーション構築では、大きな妨げになっていました。
HTML5では、マークアップだけでなく、これまで当たり前のように使われてきたAPIを標準化したことに大きな意味があります。さらに、旧来のAPIにとどまらず、現在ウェブ製作の現場から求められているさまざまなAPIが新たに策定されました。
これまでRIA(リッチ・インターネット・アプリケーション)を実現するためには、Adobe社が提供するFlashや、Microsoft社が提供するSilverlightといったプラグインに頼らざるを得ませんでした。こういった機能はウェブ標準として規定されていないこともあり、ブラウザにRIAに必要な機能が実装されていない、実装されていたとしてもブラウザによって使い方が違う、という大きな問題が横たわっていました。そのため、プラグインはウェブにとって必要不可欠なテクノロジーです。
ところが、HTML5にはさまざまなAPIが規定され、さらに、ブラウザ・ベンダーが積極的にHTML5にかかわることで、この状況が大きく変わってきました。これまでプラグインでしか実現できなかったことが、ウェブ標準のAPIをJavaScriptから扱うことができるようになるのです。
とはいえ、JavaScriptで、プラグインでしか実現できなかったことができるようになったところで、本来であれば、さほど大きなインパクトはないはずです。なぜなら、これまで通りプラグインを使えば良いからです。では、なぜ、それほどまでにHTML5が注目されたのでしょうか。
話題のきっかけの1つとして、iPhoneとiPadが挙げられるでしょう。iPhoneとiPadでは、Apple社の方針によりFlashを利用することができません。RIAを実現するためには、HTML5に頼らざるを得ないのです。
以上、HTML5が注目される理由を2つの視点から見てきました。ただ、これは、ウェブ製作の現場からの視点に過ぎません。実は、HTML5が注目される1番大事な理由が別にあります。