前回分はこちら。
今回はHTML5について振り返ります。
2014年10月についに勧告へ
HTML5の仕様策定がはじまって10年以上経ってようやく勧告となりました。これほど時間がかかったのは、おそらくiPhoneの登場によってWeb技術で実装して欲しい機能が大幅に増えたからと思われます。しかしその甲斐あって、スマートフォンのHTML5でも多くのAPIが実装され、Webアプリケーションの幅が大きく広がっています。
仕様が固まったこともあって、今後各ブラウザで機能の充実化がはかられることでしょう。Google Chromeはかなり上位ですが、IE11はまだまだ実装範囲が狭いこともあって、HTML5を活かしきる機能を実装できるのは今しばらくかかるかも知れません(IE 11を切れば状況は変わるでしょう)。
スマートフォン
そのスマートフォンもiOS 8がWebViewで使われるJavaScriptエンジンを高速化したことや、Android 4.4以降ではWebViewからChromeViewに変わったこともあって、高速化、多機能化が進んでいます。どちらもWebKit(Blink)ベースのレンダリングなので大きな差異なく動作するのが利点でしょう。
iOS 8ではWebGLやIndexedDBのサポートが追加されています。今後こうした機能を使ったWebアプリケーションが登場してくるはずです。
Single Page Application
最近流行のSPA(Single Page Application)ですが、基本的な仕組みとしてはURL単位でのページ遷移をなくし、コンテキストを継続させるのに向いた方法です。またスマートフォンアプリでは上下左右から新しいコンテンツを表示することで連続性をもたせています。
一つのHTML内にすべての情報を入れるというのが多いようですが、これでは管理が煩雑化したり、最初に受信される情報量がとても多くなってしまいます。Ajaxでページテンプレートを非同期で読み込んだりする手もあるので、手法を変えればもっと快適に操作できるようになるのではないでしょうか。
HTML5 Japan Cup
夏から秋にかけて行われたのがHTML5 Japan Cupです。多くの作品が生まれ、その中にはオープンソース・ソフトウェアも数多く存在しました。この手のイベントでよくある通り、ここからビジネス的に成り立っていくものは多くないようですが、jThreeは商用化の道を模索しているようです。
JavaScriptフレームワーク
今のところ大きいのはAngularJS、Backbone、Ember、Knockoutjsでしょうか。HTML5タグの拡張を善とするものと、そうでないものとに分かれているように見えます。またUIフレームワーク含めて提供されるものと、純粋にJavaScriptだけ提供するものとがあります。特にスマートフォン対応を考えると画面遷移やアニメーション含めたUI + JavaScriptフレームワークのパターンが多いようです。
学習コストの大きさで考えるとAngularJSは相当大きいように思いますが、一旦慣れてしまえば苦しみは少なくなります。ただしフレームワークが巨大化するとブラックボックス化する部分も増えるので、不具合が起きた時にその解決をスムーズに行えるのは薄いフレームワークかも知れません。ということで個人的にはBackbone推しではあります。
コメント
コメントを書く