Chrome+HTML5 Conferenceのプログラム のうち、本稿ではプログラマーセッションの最初の3講演についてレポートします。
HTML5により、APIの機能が格段に向上し、Webは本格的なアプリケーション開発基盤へと進化します。その結果、Webの秘めるポテンシャルが引き出され、これまでの常識を覆す、様々なWebサービスが登場すると期待されます。
新たなエコシステムを形成していく、これからのWeb。それを実現するためには、以下の事項が重要となります。
様々な課金により、健全な経済活動が行われていくこと
開発ツールが整備され、効率的なサービス開発が可能なこと
リアルタイム性を活用した、新たなサービスモデルの登場
いずれも、これまでは不足していた項目で、Webが次の局面を迎えるにあたり重要なものばかりです。本稿では、これら3項目に関する講演について、レポートします。
あんどうやすしさん「Chrome Web Store入門」
プログラマーセッションのトップバッターは、Chrome API Expertのあんどうやすし さん。Chrome Web Storeについて講演いただきました。WebアプリケーションとChrome Web Storeの姿について、あんどうさんの様々な「妄想(!?) 」を語っていただきました。なお、講演資料はこちら で公開されています。
Chrome Web Storeは、Googleが Chrome ブラウザで展開している、マーケットプレイス。様々な Web アプリや Chrome 拡張を入手できます。主な特徴としては、以下の2点が挙げられます。
Chrome限定のため、HTML5の機能をふんだんに使った、リッチなWebアプリを提供できる
様々な課金メニューが提供されており、Webアプリの販売が行える
そして、これは「Googleの考えている未来のWebを現している」という妄想が、最初に語られました。
まず、Webアプリについてです。「 iPadを電子ブックリーダーとしてのみ利用し、発展していくと考えることを自然だと考える人は、まずいないでしょう。それは、iPadが様々なアプリケーションを利用できる環境であると認識されているため。一方、Ajax などにより Webアプリという言葉がもてはやされている中、作りはモザイクの時代からさほど変わることなく、類似のデザインパターンで提供されているWebページがほとんどです。これは、Webがドキュメントビューアーから始まり、人々は当初のままの認識でWebと対峙しているからでしょう」とあんどうさんは言及し、「 iPadのような『高機能のWebが最初の出発点』だとしたら、Webアプリ開発はどのようになるか?という視点で、Webを見ていくことが大切。それにより、明確で主体的な目的をもち、オリジナリティーにあふれるWebアプリが登場するでしょう」という妄想を述べました。
次にマーケットプレイスです。マーケットプレイスであるためには、まず提供されるアプリが何であるかを簡単にユーザーに伝える仕組みが必要です。「 その仕組を提供するのがマニフェストファイルです」とのこと。Webアプリにメタ情報が付与されることで、適切なWebアプリを効率的に見つけられるようになります。また、課金は重要な機能です。技術的に素晴らしくても、経済活動が回らないサービスは、消え去る運命にあるのが世の中の定め。Chrome Web Storeでは、様々な課金メニューが提供され、Webの経済活動を生み出すであろうとの妄想が語られました。
北村英志さん「Debugging on Chrome Developer Tools!」
今回のカンファレンスのマネージャーを務めた、Googleの北村英志 さんより、Chromeのデバッギングツールである、Chrome Developer Toolsについて講演いただきました。
Chrome Developer Toolsは、Chromeに標準で備わっているデバッギングツールで、これを用いることでWeb開発を効率的に行うことができます。講演では、北村さんが開発されたメトロノーム のWebアプリを使い、Developer Toolsの様々な機能を説明しました。
「Webアプリを構成するリソースを簡単に確認できる」「 CSSのプロパティをレンダリング結果を確認しながら、直接変更できる」「 ブレークポイントを用いたデバッギングができる」「 CSSと同様に、Javascriptについても、直接編集や保存を行うことが可能となっており、IDEとしての側面も持つ」といった特徴をデモを交えながら示しました。
Developer ToolsはHTML5で作られているWebアプリで、それ自身をさらにDeveloper Toolsでデバッグ可能というユニークな一面も紹介しました。また、開発陣がユーザーから要望される機能を積極的に実装しており、昨年のGoogle Developer Day2010の講演で会場からあがった要望も反映されているとのことでした。
小松健作さん「WebSocketでリアルタイム通信」
午後最初のセッションは筆者、小松健作 より、WebSocketについて講演させていただきました。なお、講演資料はこちら で公開しております。
WebSocketは、一般的に難解な印象を聴講者に与える傾向があります。理由の一つは、Web開発者には馴染みの薄いプロトコル(通信方式)に関する解説を中心に進められる講演が多いこと。このため、今回はプロトコルについての解説は排除しました。 「 WebSocketが何者か?を知る」ことを目的とし、「 何ができる?」「 何が違う?」「 どうやって使う?」という3点にターゲットをしぼり解説しました。
WebSocketはチャットのようなリアルタイムサービスを実現するもの。APIも大変シンプルで、利用するのは非常に簡単です。しかしながら、チャットは WebSocketを使わずとも、現行のWebでもサービス提供されています。このため、これらの違いについて話しました。
現行のWeb技術(HTTP)で、リアルタイムサービスを行うテクニックは、一般的に"Comet"と呼ばれています。このCometは、テレビ番組でコメントを視聴者が送るのに、メールなどの放送波とは別の手段を用いるように、下り(受信)と上り(送信)とで、それぞれ異なるHTTPセッションを用います。ここで、コメントを送信するユーザーが増えると、テレビ番組では多数のオペレータが必要となり、どんどん大変になるように、Cometでも頻繁なデータの送信が行われると、サーバーなどの負荷が上昇してしまいます。一方WebSocketは電話のモデルに近く、頻繁にデータが送信されても、サーバーの負荷がそれほど上がらないのがそのメリットです。
また、チャットのようなコミュニケーションサービスだけでなく、スマートフォンからPCを操作するリモコン利用のユースケースや、Webの高速化にも利用できることをデモも交えつつ、解説しました。