ようこそ。睡眠不足なプログラマのチラ裏です。

HTML5基礎をいただきました。

4月16日に参加した第57回CLR/H勉強会にて、またまた書籍を頂いちゃいました。「HTML5基礎(毎日コミュニケーションズ)」です。
WINGSプロジェクトさん、毎日コミュニケーションズさん、id:naoki0311さん、CLR/Hスタッフの皆さん、どうもありがとうございます。


HTML5基礎

HTML5基礎



HTML5基礎」で全容を把握して何かつくってみよう!

Web開発者にとって、これから必須となるであろうHTML5の基礎を学べる書籍です。
HTML5の全容をざっと把握して、これからHTML5で何かを作ってみたいというような人にお勧めの書籍です。
わかりやすくシンプルなサンプルが示されている(サンプルコードがダウンロードできる)ので、すぐに試してHTML5の魅力を味わうことが出来ます。
序盤は基礎的な内容が多いので、少し知っている人にとっては歯ごたえのない内容かもしれませんが、
後半の章ではWeb Storageやクロスドメイン通信、Web Socket、Web Workersなどが扱われていて、ちょっとしたWebアプリケーションを作る上で
必要となってくるような機能についてもしっかり学べます。拙作のChrome拡張「inject hatebu」でも、
HTML5Web Storage*1やクロスドメイン通信*2を利用しています。なので、Chrome拡張を初めて作ってみようという人にもよいでしょう。
より深い内容を知りたい場合は、Webや他の書籍等で補うとよいと思います。HTML5の基礎を学んで何かをつくってみませんか。



各章について一言二言

  • 1章

 HTML5に至るまでの経緯やHTML5で出来るようになったこと等について、概要をつかむ章です。
 HTMLの歴史についてはあまり興味はなかったのですが、「へぇ」という感じでためになりました。

  • 2章

 HTML5の文法の解説。HTML5マークアップ言語なので、旧HTMLであるHTML4.01をある程度知っているひとにとっては
 さらりと読める内容です。旧HTMLから意味が追加・変更された要素をざっと把握することができます。
 HTML5では「i」がイタリック体の意味ではなくなったり、結構大胆な変更がされていますね。
 終了タグが省略できるのはうれしいような気はするけど、自分が書く場合はたぶん省略しないかな。

  • 3章

 意味を持つ領域を構造化できることについての解説。これまでのHTMLと大きく異なる部分なので何気に重要っぽいところ。
 でも、文法も変わらないし内容もとても易しいです。なので2章のつづきのような感じでさらりと読めます。

  • 4章

 新しく便利になったフォームコントロールの紹介。
 これまでJavaScriptを用いて実装されることの多かった機能が、タグの属性だけで実現できるようになるのは嬉しい。
 紹介されているフォームすべてが「IE未実装」だったのはちょっと笑ってしまいました。IE10に期待したい。
 ということで、HTML5でサポートされる機能は、ブラウザごとに実装レベルが異なるのが現状です。
 ですから、ブラウザごとに実装レベルを把握しておく必要があります。
 ここ(http://a.deveria.com/caniuse/)ですとか、対応ブラウザを調べることができるサイトの紹介や、
 実行中にブラウザがHTML5の機能を持っているのかを調べるためのライブラリ「Modernizr」の紹介などがあるとうれしかったかも。
 スマートフォンの表示領域についてのコラムはうれしいですね。

  • 5章

 広義のHTML5として、CSS3について解説されています。
 CSS2を知っている人はさらっと読めます。逆に言えば目新しさもさほどない感じ。
 内容とは関係ないですが、ふい字フォントいいですね。

  • 6章

 HTML5では動画や音声ファイルを容易に扱うことができるようになりました。その解説。
 JavaScriptからの操作についても触れられています。

  • 7章

 CanvasとSVGについて。難しいことはやっていませんが入門者がお試しするのには十分な内容となっています。
 いきなり「SVG女子」みたいにすごいのが作れるようになるわけではない。ということがわかります。

  • 8章

 ドラック&ドロップの解説とサンプルがあります。参考になります。

  • 9章

 位置情報について(GPSやIPアドレス)。Google Map APIとからめた解説は、すぐにでも実用できるのでよいですね。

  • 10章

 オフラインWebアプリケーションについての解説。
 キャッシュマニフェストによるキャッシュの更新。JavaScriptによるキャッシュの更新が紹介されています。

  • 11章

 クライアントにデータを保存するためのWeb Storageについて解説されています。
 Web Storageはかなり便利ですね。主要ブラウザすべてで利用できますし、クッキー涙目といった具合。
 これからはWeb Storageが主流となると思われます。ここでしっかり基本を勉強しておきましょう。

  • 12章

 W3CでWeb SQL Databaseの仕様は廃止になると発表されたが、対応ブラウザは意外と多く自己責任で利用可能とのこと。
 そんなこんなで、Webでの情報も少なめな感じがする。その解説がここに。

  • 13章

 他のWebサービスとマッシュアップしたりする場合に立ちはだかる壁のひとつ。クロスドメイン通信について解説。
 こちらもGoogle Mapを用いたサンプルがあり、すぐにでも実用できてよいですね。XMLHttpRequest Level2の解説もあります。

  • 14章

 Web Socketによる、サーバー/ブラウザ間の双方向通信について。
 チャットアプリケーションのサンプルを元に解説されています。
 また、マウスの動きをウィンドウ間で共有する方法の解説(擬似的なオブジェクト共有)があって面白いです。
 応用しだいでお絵かきチャット的な何かも作れるかもしれません。

  • 15章

 Web Workersについて。
 負荷の高いJavaScriptの処理などをバックグラウンドで処理する方法について解説されています。
 JavaScriptで負荷のかかる処理を作ったことがないので、私には利用シーンがあまり思い浮かびませんが、
 サンプルコードも掲載されていています。勉強になりました。
 章はじめの、"この章で学ぶこと"にて、「本章ではWeb Workersを利用したJavaScriptの処理を
 バックグラウンドについて基本的な事柄を説明します。」とありますが、編集ミスかと思われます。



レビューが遅くなってしまい申し訳ありません。献本どうもありがとうございました。

*1:オプション設定の保存

*2:はてブ数の取得