html5

統一されたブラウザ仕様の策定が目的 HTML5概要

前回は、機能だけをシンプルに実装できる jQueryを中心としたライブラリについてまとめた。ここでは、統一されたブラウザ仕様の策定が目的 HTML5概要について解説する。

1 HTML5の歴史

HTML5の登場の経緯

Webアプリケーションの活躍の場が広がるにつれて、徐々にJavaScriptが持つ機能としての限界が目立ち始めた。データの永続性、ソケット通信、音楽や映像の再生など、デスクトップアプリケーションでは普通に利用できていた機能がJavaScriptだけでは実現できないため、ある特定の分野においてWebアプリケーションはデスクトップアプリケーションに遅れをとりがちだった。

  • ブラウザプラグインの普及:FlashやSilverlightなどのプラグインを利用することによって補完してきた
  • 統一されたブラウザ仕様の策定:W3CWHATWGによって統一ブラウザ仕様が進められた
  • HTML5の仕様策定へ:W3CとWHATWGが協力してHTML5を仕様策定し、2008年1月22日にHTML5草案が発表された。2014年の勧告を目指している

 

2 HTML5の現状

ブラウザの対応状況

  • PC端末:各ブラウザがシェアを奪い合っている。HTML5への対応は、Modernizrなどを利用して目的の機能の利用可否をJavaScript実行時に判断して処理を切り替える方法が一般的
  • スマートフォン端末:iOSとAndroidの両者がWebKitベースのブラウザを搭載。HTML5を利用しやすい分野
  • テレビ端末:NetFrontという組み込み機器向けのブラウザをベースにカスタマイズされたブラウザを搭載。今後注目の分野

 

Webアプリケーションとネイティブアプリケーション

ネイティブアプリケーションでできることをブラウザ上で実現するための機能拡張が非常に盛んで、本書ではこれらのブラウザ機能拡張をまとめてHTML5と呼んでいる。ブラウザがアプリケーションプラットフォームとして支持されている理由の1つに、開発コスト(プログラミング言語やSDKの習得、アプリの実装、継続的改修など)が挙げられる。この問題の解決にWebアプリケーションが役立つ。HTML/CSS/JavaScriptを用いて作られたWebアプリケーションは、Webブラウザを介してあらゆるスマートフォン端末で動作させることができるからである。

 

3 HTML5の概要

W3CはHTML5の普及を推進するため、HTML5のロゴを提供している。このロゴ提供サイトでは、アイコンに対応してHTML5の関連技術が8つのカテゴリに分類されており、HTML5の提供する機能の全体像が把握しやすい。HTML5関連技術のカテゴリは以下の通り。

  • CONECTIVITY:WebSocket、Server-Sent Eventsなど
  • CSS3:CSS3、Web Fontsなど
  • DEVICE ACCESS:位置情報、加速度センサなど
  • 3D GRAPHICS & EFFECTS:SVG、Canvas、WebGLなど
  • MULTIMEDIA:Audioタグ、Videoタグなど
  • PERFORMANCE & INTERATION:Web Workers、XHR2など
  • SEMANTICS:microdata、microformats、アウトライン要素の追加など
  • OFFLINE & STORAGE:ApplicationCache、localStorage、IndexedDB、File APIなど

 

最後に

HTML5の登場の経緯はブラウザプラグインの普及から始まり、W3CとWHATWGの協力によって仕様策定が進められている。HTML5の現状はスマートフォン端末向けアプリケーション開発において、クロスプラットフォームを実現するほぼ唯一の手段といえる。2014年の勧告に向けて、動向に目が離せない。

次回は、History APIやApplicationCacheの利用 Webアプリケーションについてまとめる。

パーフェクトJavaScript (PERFECT SERIES 4)


「統一されたブラウザ仕様の策定が目的 HTML5概要」への1件のフィードバック

  1. ピンバック: 統一されたブラウザ仕様の策定が目的 HTML5概要 - ちゅどん道中記

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>