携帯サイトのキャリア対応
いま関わっているプロジェクトで、携帯サイトをRoRで構築する予定があります。
RoRで携帯サイトを構築する場合、「キャリア判別」や「ビューの自動振り分け」
などの基本機能を提供してくれるjpmobileプラグインがよく利用されていますが、
ビューをキャリア毎に用意する必要があります。
そこで、キャリア毎に複数のビューを作らずに済む方法を考えてみました。
1. XSLTで各キャリア向けのビューに変換する
以前、他のプロジェクトで実装した機能ですが、
リクエストからクライント(携帯端末)のキャリアや機種を自動判別し、
XSLT(*1)によって、各キャリア向けのビューに変換します。
これにより同じ内容のビューをキャリア毎に作成することは不要になります。
しかし、これまでに”独自進化した各キャリアの仕様”を”XSLTの変換仕様”に
すべて落とし込むのは、なかなか難しいです。
そのプロジェクトで構築した携帯サイトは、入力フォームで情報を
渡して表示するだけの単純なビュー(絵文字も不要)の変換だったので、
XSLTで十分対応できました。
ビューが単純で、ある程度新しい機種だけのサポートだけでOKなら、
この方法が使えるかと思います。
古い機種をサポートする場合は、変換以前にそもそもビューのサイズが
大きすぎて読み込めないなどの問題もありますのでご注意を。
それとテストは、各キャリアで3機種(新機種、中機種、旧機種)
くらいと予め決められると良いと思います。
*1 XSLT
XML Stylesheet Language Transformation
XML文書を他のXML文書やHTML文書に変換することができます。
2. ASPサービスを利用する
ASP型の携帯コンテンツ変換サービスを利用する方法です。
例えば、次のようなサービスもあります。
docomo用のビューを1つ用意すれば、あとは自動的に各キャリア用の
ビューに変換してくれます。機種も新機種〜旧機種まで大抵をサポート
してくれます。
しかしASPサービスなので、当然料金が発生します。
いまのプロジェクトで構築予定の携帯サイトは、OSS化(*2)も考えています。
OSSとしてタウンロードしても、ASPサービスの契約をしないと使えない
というのは厳しいので... 残念ながら利用できないかもしれません。
企業向けの携帯サイトの構築とかで上記サービスを利用すれば、
キャリア対応に悩まされることなく、メンテナンスするビューも
少なくて済むので、とても便利です。
*2 OSS
3. ビューをFlash Liteで動作するFlashコンテンツとして作成する
Flash Liteは、携帯用に開発されたFlashの実行環境です。
Flash Lite2.0からオブジェクト指向言語のActionScript2.0に
対応しているので、JavaやRubyプログラミングの経験があれば、
簡単に魅力的なコンテンツを作成できます。
ただし、携帯がFlash Liteに対応していないと動作しません。
対応してればキャリアに関係なく動きます。
Flash Lite対応機種(*3)は各キャリアのサイトに掲載されていますが、
サポートできる機種が制限されます。
開発はAction Script2.0が使えるFlash Lite2.0対応機種がよいので、
より制限が厳しくなります。
もし機種が制限されても大丈夫なら、おすすめの方法です。
*3 Flash Lite対応機種