なぜHTML5がそれほど重要か?
HTML5はなぜ重要なのでしょうか。このブログでも、HTML5はIT業界全体にとって重要な標準だと位置づけて、その動向については何度も取り上げてきました。
- いま起きているWeb標準の進化、HTML5、CSS3、JavaScript 2.0
- HTML5/CSS3は最新Webブラウザでどれだけ実装が進んでいるか?
- HTML5の標準化で表面化したSQLの非互換性問題
- HTML 5でセマンティックWebが進むと困る人たち
HTML5はHTML4のバージョンアップではありますが、HTML5はそれまでのHTMLやXMLと大きく異なる点があります。それは、HTML5がWebアプリケーションのための標準だという点です。そこがHTML5の最大の重要性ですが、それに加えて2つの重要なポイントがあると考えています。
本エントリでは、その3つの重要性について紹介したいと思います。
ドキュメントの共有から始まったWeb
HTMLやXMLは、ドキュメントを記述するための標準でした。HTMLの登場によって、世界中の人がネットを通して"Webページ"としてのドキュメントを共有することが可能になりました。
その結果、Webページを土台として、ニュースサイトが登場し、ECサイトが登場し、ポータル、検索エンジン、ブログやSNSや写真共有サイト、動画共有サイトなど、さまざまなWebサイトが登場してきました。
Webアプリケーションの登場
やがて頭のいいエンジニアが登場します。彼は、Webブラウザが標準で備えているスクリプト機能に目を付けました。WebページのうえにJavaScriptを用いて動的なアプリケーションを構築します。GMailやGoogle Mapsのような動的な"Webアプリケーション"の登場です(ここではAjaxアプリケーションのことを狭い意味で"Webアプリケーション"と呼ぶことにします)。
これによって2つのメリットが生まれました。
1つは対話的な操作です。従来のWebページではユーザーインターフェイスもドキュメント単位で作られていたため、シンプルではありますが紙芝居のように切り替わる方式でした。しかしWebアプリケーションではWebページの一部を動的に書き換えることが可能であり、多機能かつ対話的な操作ができるようになりました。
もう1つは、Webのストリーム化です。ドキュメントを共有するWebでは、情報をやりとりするためには、情報を一度ドキュメントに固定し、それを転送して共有する必要がありました。そのために、コミュニケーションには一定のタイムラグが生じていました。
しかしWebアプリケーションでは、最小限の情報の断片をやりとりできるようになるため、すばやく小刻みな情報交換、情報共有が可能になります。Webのストリーム化、コミュニケーションのリアルタイム化も、Webアプリケーションへの自然な進化の一形態と考えることができるでしょう。
Webの進化にとって重要なHTML5
HTML5は、いままでドキュメントの標準として作られていたHTMLを、Webアプリケーションのための標準へと進化させる大きな節目となるバージョンアップといえます。これからWebがアプリケーションプラットフォームとなり、Webのリアルタイム化が進むうえでも、重要な土台となるべき標準なのです。
付け加えていえば、この進化の方向性はW3Cやどこかの標準化団体が誘導したのではなく、Webにおける自然な競争の結果、決定づけられた方向性でした。
それゆえに、Webの進化にとってHTML5は重要である、というのが1つめの理由です。
正確にはWebアプリケーションの土台としてHTML/CSS/JavaScriptの3つが関わっていますが、ここではHTML5をそれらを象徴するキーワードとして用いたいと思います。
そしてHTML5の重要性はさらに2つ挙げられます。
Windows、Mac、Linux、iPhone、Android......
2つ目は、HTML5がクロスプラットフォームである、という点です(仕様としてのHTML5はそもそもプラットフォームのことはほとんど意識していませんので、実際にはHTML5で予想される実装の多様さが、この重要さを支えているともいえます)。
あるアプリケーションを開発したら、あらゆるハードウェアやOSで動作する、というのはアプリケーション開発者にとって1つの理想型です。移植作業のような手間を不要にし、しかも多くの市場に向けて同時に展開できるためです。
そうなれば、より多くのアプリケーションの登場が促進されて市場が活性化するとともに、健全な競争の下で利用者にも多くの利益がもたらされることでしょう。
いままでPOSIX、Java、Windowsなどさまざまなレイヤのテクノロジが、このアプリケーション開発者の夢であるクロスプラットフォームを約束し、しかしその実現を果たせぬままです。
いまHTML5は、この夢にいちばん近いアプリケーションプラットフォームを実現しようとしています。HTML5に対応したWebブラウザは、Windows、MacOS、LinuxといったPC用のOSはもちろん、iPhoneやAndroidといったモバイルデバイスまでサポートする可能性があり、そうなればハードウェアやフォームファクターをも越えたクロスプラットフォームの実現です。
もちろん、現実的にはさまざまなハードルがあることでしょう。それでも、1つの標準に準拠したプラットフォームの登場は、アプリケーションの開発者にとって、そして利用者にとって見逃すことはできないはずです。
仕様による標準であること
3つ目は、HTML5が「仕様による標準化」であることです。
HTML5の仕様を基にして、誰でもWebブラウザを実装することができます。Firefox 3.5やSafari4のようなWebブラウザの実装が登場している一方で、アドビシステムズのDreamweaverのようにオーサリングツールのようなアプリケーションを作るのも自由です。
かつてWindowsのWebブラウザをInternet Explorer 6がほぼ独占していた時期には、競争がほとんどなかったためにWebブラウザの進化も停滞していました。
このときのような実装による標準化(や事実上の独占)は、その実装の利用者にとっては長期的な安定と高い互換性などのメリットをもたらしますが、同時に進化の停滞にもつながります。
一方で仕様による標準化は、さまざまな実装の登場とそれらの競争が予想されるため、よりよい実装による多様性と選択肢の登場、そして素早い進化がメリットです。デメリットとしては、実装ごとに細かな互換性が損なわれる可能性がある、という点が挙げられます。
しかし、競争の中で「高い互換性を有しないものは排除する」という競争条件がもし働けば、多様性の中で互換性さえも乗り越えられるかもしれません。そんなことが実現できるのかどうか。いままさに「仕様による標準化」の新たな段階にさしかかり、これまで経験したことのないほどの種類のWebブラウザの実装に取り囲まれはじめているところなのです。
理想的には、さまざまな実装が登場し、競争の中で進化しつつ高い互換性も維持していくことができれば、いうことはありません。HTML5は、仕様による標準によって、そのような理想が実現できるでしょうか。期待しつつ今後もこのブログで動向を紹介していくつもりです。