iPhoneのアプリのデザインやUIはもちろんだけど、
Twitterからの受け皿になるページなど、
iPhoneのWebページのUIも、もうちょっとどうにかしたいなーと思い始めている。
javascriptのライブラリも出回っているけど、
実は最初はライブラリを使用することには否定的だった。
ファイルサイズがネックになると思っていたから。
アプリのパフォーマンスチューニングをするとわかるけど、
一番の問題は3G回線での利用時の通信速度が遅いこと。
データ転送量を如何に減らすかが大事になってくる。
ライブラリを使用していると、どうしても余計な機能もついてきてしまうので、
その分のファイルサイズを転送しなければならないので難しいなと思っていたわけ。
念のため一応調べてみると、jQTouchなんかは思いの他ファイルサイズが小さかったけど、
jQueryが必須になるので、このファイルサイズがちょっと…と悩んでいたところ、
あることを思い出した。
もともと通信量を抑えるために、Apacheのmod_deflateで通信を圧縮しているのだ。
(iPhoneでサーバーとのデータのやりとりをする場合には絶対入れた方が良い!)
そこで圧縮後の転送量を測ってみると…CSSやjQueryを含めて30KB弱。
これならなんとかなるね!と使用することに決めた。
ちょっと使ってみると非常によく出来ていることがわかる。
デフォルトのテーマのデザインだと物足りなかったので、
テーマをちょっといじった30min.用のテーマを作成すると、
iPhoneアプリライクな動作が簡単に実現できる。
ただ一つだけ問題がでてきた。
UINavigationControllerのようなスライドインのアニメーションを実装するには、
HTML1枚に各種動作を書かねばならないようだ。
(勉強不足でやり方知らないだけだったらすみません。。。)
そうするとHTMLのファイルサイズが大きくなる。
…どうしようか?
とりあえず最初のHTMLに大枠だけ書いて、
スライドイン(ドリルダウン)した時の内容はAjaxでjson読みに行って、
それでコンテンツのタグ生成みたいなことをすれば通信量は減らせるかな?
解決できそうな問題な気がする。
結論としては、Apacheのmod_deflateなど、通信を圧縮することができる環境化では、
jQTouchはかなり実用的だと思います。
O’REILLYの「iPhoneアプリケーション開発ガイド」などを参考にすると導入が楽です。
ただこの本のタイトルは…。
iPhoneアプリを作るものではなくてiPhone用Webサイトを作るための内容なので、
App Storeにアプリを並べたいという人には用途が違うかと。。。
でも、目的に合致した方には良い入門書だと思います。オススメですよ。