8月8日(金)にBP Studyの第12回が開催されました。
週末にもかかわらず、21名の方々に参加していただきました。誠にありがとうございます!
今回も時間が足りなくなるほど、活発に意見、質問が飛び交い、熱い会となりました。
まず第一部は、田中宏和さんに、SeasarプロジェクトのCubbyをネタにMCを担当していただきました。宏和さんは、CubbyがURLをきれいに設計できるという話をきっかけに興味を持ち、使い始めたそうです。
デモアプリケーションののソースコードが、プロジェクタに映し出されると、Cubbyの機能、特徴について、参加者から、様々な質問が飛び交いました。ソースコードを実際に、みながらのセッションだったので、具体的であり、Cubbyの良さがとても伝わったセッションになったと思います。(まとめは下の方に書いてあります)
第二部は、白石俊平さんにGearsをネタにMCを担当していただきました。
Gearsは私も、名前はニュースでみていて、オフラインでウェブアプリが使用できるようにするための仕組みということは知っていたのですが、白石さんにGearsの機能、仕組み、長所・短所、開発方法、今後の方向性を説明していただき、本当にためになりました。早速GearsをFireFoxにインストールしました!
参加された方々も、Gearsの名前は聞いたことはあるが、その実態について詳しく知っている人はあまりおらず、有意義なセッションだったのではないかと思います。(まとめは下の方に書いてあります)
また、ありがたいことに参加していただいたyuroyoroさんがまとめていただいております。
http://d.hatena.ne.jp/
私も、各セッションの内容を簡単にまとめました。
- -
■第一部 Cubby
Cubbyの特徴として、以下のものがあげられる
・URL設計とアクションがマッピングしていてわかりやすい
例:/user/list/というURLが、UserAction#listメソッドにマッピングする
Restfulなアプリケーションをつくりやすい
・URLをきれいに設計できるので、SEO対策によい
パラメータもURLの一部として、使用できる
・設定ファイルではなく、アノテーションで定義する
→開発時に、いろいろなファイルをみる必要がなく、開発効率が良くなる
・バリデータの設定ファイルない、カスタムのバリデータも簡単に作成できる
・SeaserのHotDeployにも対応
・S2JDBCは使い勝手がとても良い!
・SAStrutsとの違い
→目指している方向は一緒。Strutsベースかどうか
カスタムタグはStrutsよりもよりHTMLに近いものにしている
MayaaとJSPどっちが使われるのか→どちらともいえない
・クラスの粒度をどう設計したらよいか
URL設計に依存する
・Cubbyはシンプルで本当に使いやすい
業務アプリというよりは、ユーザサービスに向いているのではないか
■第二部
・登場
2007/5 のGoogle Devloper Dayで初披露
・Geersとは
WEBアプリのオフライン化を実現するブラウザプラグイン
Flash Playerのようなもの
IE ,FireFox対応、Safari未対応
インストールすると、オフラインアプリ用のJavaScript APIが利用可能になる
・三大機能
ローカルサーバ
ローカルデータベース(sqlite)
ワーカプール
・ローカルサーバ
Web上のリソースをローカルにキャッシュし、オンライン・オフライン問わずブラウジング可能にする
→実態は、URLをキーにしたファイルのキャッシュ
キャッシュの種類
自動更新機能
更新機能なし
・仕組み
ローカルサーバが、リクエストを横取りして静的ファイルを返す
・ローカルDB
sqllite
JavaScriptからSQL実行可能
・ワーカプール
バックグランド・タスクを実現する機能
UIのフリーズを無くす
ワーカはUI(DOM)にアクセスできない
・アプリのアーキテクチャ
(1)モーダル
オフラインモードとオンラインモードをユーザが切り替える
→つくるのが楽
→切り替えはユーザの責任
(2)モードレス
Remember the milk
Google Reader
Google Docs
使い勝手がよい
パフォーマンスも良くなることが多い
ローカルに書き込むので。その後任意のタイミングでサーバと同期
作るのが大変
・Geersのアプリを開発する際の注意点
画面遷移のない、JavaScriptアプリというのが前提
戻るボタンを押すとだめ。
英語版ではないと使えないかも。
ローカルDBとサーバーDBの同期をうまく考える必要がある
・そして、名前から”Google”が取れた
Gearsはオフライン機能のみで終わるつもりはない
HTML5 オフライン機能を仕様で搭載
HTML5の登場によって、Googleは立ち位置を変えた
Gears=HTML5の実装+独自機能
さまざまなAPI
Blob APU、Audio API、HTMLAudio、Console APIなど
HTML5で提案されているクライアントサイド・データベースの実装
HttpRequestの機能拡張
Flashみたいなことができる
・GEARSはどこに向かうのか
他のRIA技術とガチで戦う方向に向かうのではなかろうか
Flash,Silverlight FireFox3など
資料:白石さん執筆
Google Gearsの現状、そして未来を占う
今年の目標:100エントリーまであと44。