携帯サイトのキャリア対応

いま関わっているプロジェクトで、携帯サイトを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

Open Source Software

3. ビューをFlash Liteで動作するFlashコンテンツとして作成する


Flash Liteは、携帯用に開発されたFlashの実行環境です。


Flash Lite2.0からオブジェクト指向言語ActionScript2.0
対応しているので、JavaRubyプログラミングの経験があれば、
簡単に魅力的なコンテンツを作成できます。


ただし、携帯がFlash Liteに対応していないと動作しません。
対応してればキャリアに関係なく動きます。


Flash Lite対応機種(*3)は各キャリアのサイトに掲載されていますが、
サポートできる機種が制限されます。


開発はAction Script2.0が使えるFlash Lite2.0対応機種がよいので、
より制限が厳しくなります。


もし機種が制限されても大丈夫なら、おすすめの方法です。


*3 Flash Lite対応機種