Shoeisha Technology Media

CodeZine(コードジン)

記事種別から探す

HTML5はこれからどうなっていくのか
ここが違う!サンプルで見るHTML5(6)

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2010/12/28 14:00

 これまで5回にわたり、HTML5のこれまでの技術との違いをサンプルのコードに沿って解説してきました。連載最終回では、W3Cが策定しているAPIの中から代表的なものを説明し、HTML5を含む次世代のウェブテクノロジーが進む方向性について見ていきます。

目次

はじめに

 この連載では、今日のウェブ業界の流行語となっている「HTML5」をとりあげ、全6回に分けて、これまでの技術とどのような違いがあるのか、具体的にサンプルのコードを示しながら解説していきます。

過去の連載も読む

オープン・ウェブ

 本連載では、HTML5のマークアップについてウェブページという視点で解説してきました。しかしこの視点は、HTML5やそれに関連する新たなウェブテクノロジーが扱う範囲のごく一部でしかありません。本連載の最後となる今回は、HTML5を含む次世代のウェブテクノロジーが進む方向性について見ていきましょう。

 本連載の第1回では、HTML5のAPIについて簡単に触れました。そして、HTML、JavaScript、CSSといったウェブテクノロジーがさまざまなコンピューターデバイスのアプリケーション開発のプラットフォームになろうとしている点について言及しました。

 HTML5仕様は、ウェブテクノロジーがアプリケーションのプラットフォームになるうえでは欠かせない仕様ですが、これが全てではありません。HTML5という用語はすでにバズワード化してしまい、明確な定義がないまま世の中で使われています。

 W3Cでは、もともと1つだったHTML5仕様をいくつかに分離しています。ここでは、HTML5仕様と言えば、W3Cによって公開されたHTML5仕様、そしてもともと1つだったHTML5仕様から分離された仕様に限定して使います。分離された代表的な仕様の1つとして、HTML Canvas 2D Contextが挙げられるでしょう。

 HTML5仕様には、さまざまなAPIが盛り込まれています。video要素やaudio要素に付随するAPI、canvas要素に付随するAPI、さらに、ドラッグ&ドロップ、オフラインなどが挙げられます。しかし、HTML5仕様だけでは、ウェブページがリッチになることには違いありませんが、アプリケーションプラットフォームとしては不足していると言えます。

 HTML5という言葉がこれほどに注目を浴びているのは、HTML5仕様だけでなく、そのほかのテクノロジーも含めて、ウェブテクノロジーがアプリケーションプラットフォームになり得ると考えられるからなのです。ここで言うウェブテクノロジーとは、具体的には、HTML、CSS、JavaScript、そしてJavaScript(ECMAScript)を通して利用できる各種APIのことを指します。これらのテクノロジーは、誰にでも仕様の詳細が公開され、ロイヤリティー(特許料)が発生せず、特定の企業や個人が独占していない点が特徴です。ここでは、それらを総称して、オープン・ウェブと呼びましょう。実際に世間が注目しているのは、HTML5仕様単体なのではなく、このオープン・ウェブなのです。

オープン・ウェブ
オープン・ウェブ

オープン・ウェブ仕様

 オープン・ウェブのうち、HTML、CSS、APIは、主にW3Cといったウェブ標準の策定団体によって策定されますが、実際には、ブラウザベンダーやハードウェアメーカーなどの関係者の協力のもとで作り上げられていきます。そして、新たに考え出される仕様には、彼らが目指す方向性が反映されることになります。

 ここでは、今現在、どのような仕様が策定されているのかを具体的に見ていきましょう。もちろん、これらの仕様は策定段階であり、策定状況は仕様によって大きく異なります。そして、すべてがブラウザに実装されているわけではありません。しかし、オープン・ウェブが目指している方向性は読み取れるはずです。

ストレージ関連

 ブラウザ側にユーザーのデータを蓄積するために、これまでCookieが使われてきました。しかし、蓄積できるデータは非常に小さく、さらに、データを蓄積されたあとは常にそのデータをサーバーに送信する仕組みでした。Cookieはセッション管理やユーザートラッキングに最適でしたが、一方、単純に大きなユーザーデータを蓄積しておく仕組みが求められてきました。それを実現するのがWeb StorageIndexed Database APIです。

 Web Storageは、すでに最新のブラウザには実装されており、今でも利用できます。さらに今後は、複雑なデータ構造や大きなデータを扱うために、Indexed Database APIが期待されています。

ファイル関連

 これまで、プラグインを使わない限り、JavaScriptからデスクトップのファイルを扱うことができませんでした。しかし、File APIの登場により、デスクトップ上のファイルをドラッグ&ドロップやfileタイプのinput要素経由でユーザーが選択することで、そのファイルのデータを読み取ることができるようになりました。すでにFile APIは一部のブラウザで実装されています。

 さらに、ファイルの読み取りだけでなく書き込みまで実現するFile API: Writerや、ディレクトリを扱うFile API: Directories and Systemが策定中です。デスクトップ上のファイルやディレクトリを直接的に自由に扱うことができるわけではありませんが、これらファイル関連のAPIによって、ウェブアプリケーションが、よりデスクトップアプリケーションに近づくと言えるでしょう。

ネットワーク関連

 過去にAJAXが流行し、今では当たり前のように使われているXMLHttpRequestも、今ではその後継にあたるXMLHttpRequest Level 2が策定中です。さらに、サーバープッシュを実現するServer-Sent Events、双方向通信を実現するWeb Sockets APIが策定されています。

 こういったネットワーク関連のAPIを使うことで、リアルタイムコミュニケーションが実現します。


  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

  • 羽田野 太巳(ハタノ フトミ)

    有限会社futomi 代表取締役 1971年岐阜県生まれ。 ホスティングサーバー(共用サーバー)でも利用できるウェブ・アプリケーションの独自開発・販売を手がける。主にPerlによるCGI制作が中心。 オーダーメードのウェブ・アプリケーション制作/ウェブ・サーバー管理業務も手がける。 20...

バックナンバー

連載:ここが違う!サンプルで見るHTML5
All contents copyright © 2006-2017 Shoeisha Co., Ltd. All rights reserved. ver.1.5