社長BLOG
HOUOU スマートフォンのアクションフレームワーク
- 2011-11-29 (火)
- 社長BLOG
12月はHOUOUプロジェクトスマートフォン対応の大事な一ヶ月になる。
すでに解決方法が分かっている基礎部分は淡々とこなしていく。
淡々と進める基礎部分
・招待、新規登録関連の不整合の修正
・画像のメール投稿
・携帯電話だけどUIDを使わず、クッキーを前提とした認証
このあたりはサラッと済ませておく。大事なのは次に来る、コア、プラグイン全体を通した、便利で生産性の高いアクションフレームワークだ。
アクションフレームワーク案
現在検討中のアクションフレームワークは、これまでのOpenPNEが利用してきたsymfonyのスタイルとは異なる。
自分がsymfonyについて好きではない部分、野生のカンでやばそうな部分を避けてつくる。
理解のためにざっと画像をこしらえた。
・もととなる一覧ページは通常のアクションで取得する
・その際に、エラー画面や、つぶやき表示のテンプレートパーツも一緒にロードし、HTML内部に埋め込んでおく
・検索、一覧、投稿などの各アクションはJavaScript(jQuery)でJSON形式のAPIに対して行う
・結果のJSONは埋め込んでいたテンプレートパーツに当てはめ、画面に表示する
という方式だ。
メリット
・レスポンスがHTMLタグ構造を持たないデータのみのJSONになるので、HTML転送量が少なくなる
・AJAXを積極的に利用し、ページ全体をロードする画面遷移を少なくできる
・アクションがAPI形式になるためサーバサイドのテストが容易になる
※独立したAPIはテストがしやすい(クライアントサイドのテストは、モック?スタブ?を相手に人力で行う)
・ガジェット内部だけで、すべてのアクションフローが完結するので、ガジェットが真にポータブルに進化する
・これまでよりもシンプルで簡単にOpenPNEを拡張することができる
※symfony&Doctrine vs HTML+jQuery なので、symfonyわからなくても拡張できるようになる。
・JSONAPIは使い捨てではない。PCでもスマートフォンでもサーバサイドでも、iPhoneアプリからでも利用することができる。
デメリットはプロジェクトにおいて実績があまり無いこと。
これはタイムラインプラグイン(ゴルゴンハニー)を先行して人柱として対応することで、
経験を積んでいく。
明日リリースするゴルゴンハニーでは、PC版のアクションフレームワークに、今回のモデルを採用している。
そしてしっかりと、スムーズに動作している。
スマートフォン版の対応をいち早くすることで、今回のアクションフレームワークの確かさを確認したい。