HTML5は非常に有益。でも・・・
ここ最近、ずっとHTML5関連の情報収集ばかりしています。
はっきりいって、非常におもしろいです。
まだ、ごく一部の機能に触れたに過ぎませんが、少なくともこれまでのウェブページ制作の概念を覆すような機能が多々含まれています。
1、ローカルストレージは煩雑だったフォーム回りのデータをすっきりさせられる?
ローカルストレージを使うと、大きなデータ(実質無制限?)を永続的に保持しておけます。Cookieより簡単に扱えて便利。
まだちょっとしか触れていないのですが、フォームとセッションまわりでデータをせっせと持ち回したり、部分的にCookieに頼ったり、といった部分をもうちょっとすっきりとさせれそう。
また、特にスクリプトに詳しくなくても容易に使えるので、ちょっとした持続データの格納(たとえば「大・中・小」のような文字サイズとか)にもよさそうです。
ただ、あまりに簡単なので、あらかじめルールを決めておかないと、データがぐちゃぐちゃになりそうな気が・・・。
無闇に誰でもが触る前に、規則で縛った方がいいでしょう。
逆になんの制限も無いというのはセキュリティ上ありえないので、今後いろいろな縛りが出てきそう。その辺を標準化していただかないと、また「このブラウザでは動くが、こっちでは動かない」状態になるかも。
2、WebSocketはユーザ体験を大幅に向上させる?
リアルタイムのソケット接続が、ブラウザだけで実現できるわけですから、これは素晴らしいと言わざるをえません。
ですが・・・
*まだ実装されたブラウザが少ない(というか、現時点ではChromeのみ)
*サーバ側の実装が必要(HTTPで実装できたAjax通信とは毛色が異なる技術が必要)
*サーバ側の負荷やセキュリティの問題(サーバダウンや、攻撃対象にされる危険性がある)
いずれにしても、実用化までに時間と労力が必要そう。
限られた用途(例えばイントラのグループウェアなど)であれば、すぐにでもいけそうですが。
3、やっぱりCanvasはいい。すごくいい。
色々調べれば調べるほど、Canvasの強力さが分かってきます。
単純なグラフィックの表示に留まらず、動的な書き換えに加え、画像データの書き出し機能も備えているため(toDataURL()メソッド)、それ単体でイメージエディタとしての機能が実装できます。
お絵描きツールどころか、ウェブページのデザイン・構築までが、Canvas内で完結するかもしれません。
ただし、フォントなどの環境依存や、ブラウザ間の微妙な表現の差がどうしても残ります。
いくつかのブラウザで同じ描画スクリプトを実行してみましたが、やはり「完全に一致」はしないです。
4、ビデオとか、オーディオとか
目玉機能の一つですが、実はまだ触っていません。
といいますか、配信すべきメディアを持っているならともかく、今の自分が触ってもあまり・・・、という感があります。
ブラウザによってサポートされているファイル形式も異なっていたりで、まだ安定的に実用はできません。
が、Youtubeでも試験的にHTML5での動画配信を始めていますし、脱FLVの動きは確実に広まっています。
5、じゃあ、Flashはいらないの?
確かに、巷で言われるようにHTML5の新機能を使えば、今までFlashでしかできなかったことの多くがHTMLでも実現できます。
じゃあ、Flashはいらないのか、と言われると、そうではないと思います。
Flashにしかできないことはまだ残っていますし、Flashしか出来ない人も、Flashしか知らないクライアントも、まだまだたくさんいます。
「そんなの、HTML5で実現できるよ」っていう人は、どんどんHTML5に移行していくべきだと思います。
ただし、クライアント(やエンドユーザ)は、そういう進化に関しては無関心(というか、見れさえしていればよいので、中身は関係ない)です。広く普及して「あたりまえ」になるまでは、新しいものにはなかなかついてきません。
「HTML5にこういう新機能があって、こうやって便利になるんです・・・」と説いても、「うーん・・・。それで、おいくらですか?」と言われたり・・・。
クライアントの多くははいまだにFlashのアニメーションが大好きなんです。ちょっと動いただけで、手放しで喜んだりしますから。
また、Flash自体がHTML5とは差別化できるような方向性に進化を遂げていくはず。
それはそれで期待したいです。

