albatrosary's blog

Azure と Angular と Wercker CI とか

Web標準から見たSingle-page Applicationのこれから

2014年の今年、HTML5が正式勧告になることをうけ、Web標準に関する事柄をまとめなおしました。やはり業務系Webアプリケーションを構築するにあたって注目する技術は4つあります。

  • Application Cache
  • WebStorage
  • Web Worker
  • WebSocket

この4つは業務アプリケーションエンジニアにとって目が離せないものとなるでしょう。

 

Web標準(HTML5)のいま

2000年頃HTML4.xxが正式勧告になりましたが、それ以降Web標準を決める事象が発生していませんでした。ゆとり世代に突入です。ゆとりは技術者にとって技術は変化しないという間違った意識を植え付けましたが、今年は大きく揺らぎが発生します。それがHTML5正式勧告です。

 


今後の業務系Webアプリケーション

Single-page Applicationでのブラウザーアプリケーション構築は既に当たり前に成りつつ有りますがこれに
  • Application Cache
  • WebStorage
  • Web Worker
  • WebSocket
を利用した業務系Webアプリケーションも構築されます。営業系アプリケーションではオフラインでのシステム構築が余儀なくされることが現実の問題としてあります。オンラインでしか動かないシステムというのは、システムが営業活動を止めるといったビジネスにはあるまじき行為を行ってはならないためです。
「より早く双方向に」というキーワードもあるようにWebSocketの利用も拡大するでしょう。
 Application Cacheの役割は静的なものをクライアントに保持する技術です。manifestファイルを定義することによって静的なHTML、CSSJavaScript等がクライアントにキャッシュされます。
WebStorageはsessionStorageとlocalStorageの二つ存在しています。クッキーの拡張版と考えればしっくりくると思いますが機能はクッキー以上です。動的な「情報」を保持するために利用します。
Application CacheとWebStorageを利用するだけで通信から切り離されますのでアプリケーションのレスポンスは相当向上します。ここにWeb Workerを利用することでさらにアプリケーションの高速化をします。
すべてブラウザアプリケーション言い換えるとクライアントアプリケーションとして構築できますが通信も必ず発生します。サーバにデータお送りますよね?そこでWebSocketを利用します。いままでの通信とは違いつなぎっぱなしを提供します。
 

問題はないのか?

Web標準を使った場合、フロントエンドが大変という認識を持たれる人が多いですが実はバックエンドの方が深刻です。APIサーバをどう構築するか、スケールをどうとるかWebSocketを使った場合の経験値がすくなすぎだからです。
 

最後に

近い将来の業務系Webアプリケーションの方向性は定まってきたと考えてます。バックエンドも含めた問題は多く有ります。ただ、Web標準に着目し努力を行ったSIer等はその後の技術的優位性は明らかです。なぜなら、Web標準はもっとここに上げた以上に多くのアーキテクチャを用意しているからです。