携帯サイト作成の実際

以前、携帯サイト作成に関するまとめ記事を書いたのですが、


携帯サイトを3日で作れ的な展開になって泣きながら勉強したときのメモ - Kemworld::Diary


実際やってみるとどうもxhtmlのほうはまだまだ機種によって実際の表示がどうなるかわからないなあ、という感想を持ちました。


たとえば、身近な人の携帯で見てもらったら、なぜかxml宣言がまんまオモテに表示されてしまったりとか・・。ほかにも実機で見たらとんでもない表示になっているかもしれない、という可能性はぬぐえないなあ、と。


あと、softbankの3G携帯は文字コードUTF-8っていう情報を入手してたんですが、たとばボクが持っている「705SC」だと、普通にSHIFT-JISのページが読めるし、なんならエンコードは自動判別でSHIFT-JIS・EUC-JP・UTF-8なんでもOK、みたいな感じだった。


携帯も日々進化しているようで画像の対応も最近のならjpgはどこのキャリアでも表示できるっぽいし・・。


いかんせん全キャリア・全機種での表示確認なんていうのはあまり現実的でないし、よほど凝ったデザインにしたいのでなければ旧来のhtmlのほうが安定してていいかも(たとえばはてなのモバイル用ページもxhtmlじゃなくてhtmlだね)。

現実的になるべく多くのキャリア・機種で安定して表示できるかつ、手間なしな携帯サイト構築のスタイル


ということかな。これならキャリア別・機種別対応を考える必要もない(見れなかったらごめんと言うしかないけど)。


(10/11追記↓)

しかし、くやしかったのでもうちょい調べる。

上記では満足できん、やっぱりxhtml使えるなら使いたい!という場合どうしたらいいかちょっと調べてみた(嘘まざってるかもしれないので要ソース確認)。


最低限の場合分けを考えると、要するに


xhtmlに対応しているかそうでないか」


を各キャリアごとに判別できればいい。
アプローチとしては古い機種(htmlしか読めないやつ)かどうかを判定すればいい。


ちなみに機種の判定自体はPEARのNet_UserAgent_Mobile クラスを使用、以下参考↓。
第10回 Net_UserAgent_Mobile クラス - 携帯端末情報取得ライブラリ - PEAR講座


レンタルサーバーでPEAR自体の導入につまづいたら以下参考↓
XREAでPEARをインストールするのにハマッタときのメモ - Kemworld::Diary

ドコモ

ドコモはムーバ全機種と、FOMAで対応HTMLバージョンが3.0のものがXHTML非対応。


ソース↓
imode_spec.pdf (application/pdf オブジェクト)

isFOMA()
getHTMLVersion()


とか判別メソッドがあるので最初にフォーマかそうでないかを場合分け、でフォーマだった場合は対応HTMLバージョンが3.0かそうでないかでさらに場合分け。

ソフトバンク

ソフトバンクはC型・P型はhtmlしか読めない(xhtm非対応)。


ソース↓
ソフトバンク技術資料の概要編13ページあたり。

isTypeC()
isTypeP()


とか判別メソッドがあるのでこれを使って場合分け。

au

auはなんかこちらで場合分けしなくてもxhtmlに対応してなかったら自動でhdmlに変換処理してくれるらしい。


ソース↓
KDDI au: XHTMLについて > 対応機種


というわけでとりあえずxhtmlでいいか。


セッションに関しては↓


携帯サイトのセッション。キャリア別実装方法。 - Kemworld::Diary


絵文字に関しては研究中。