iPhoneアプリとWebサイトの違い

稼働中のWebサービスiPhoneアプリ化していて、苦戦してることなど。話の前提としている移植元のWebサービスは、ストリーム放送とかフラッシュサイトではない普通のHTMLのECサイトです。

苦戦しているのはサーバアクセス中にアプリが固まったり、多少キャッシュをしてみても操作に引っ掛かりが残るということです。WEBサイトのレスポンスを送って帰って来るまでが1サイクルという考え方のままにアプリを作っており、HTMLにあたる部分をstoryboardとUIKIt、HTTPリクエストにあたる部分をNSURL系のクラスに単純に置き換えていたのが問題だったようです。

基本的にはデータはアプリ内にキャッシュしてサーバアクセスを抑える方向で考えているのですが、複雑なロジックはサーバ側で一元管理にしたり、マスタの変更がいつでもサーバサイドで行えたりといったことも実現したいと考えているので常にそれなりのやり取りを行っていても固まらない様にする必要があります。

いくつか目標にしているアプリがあるのですが、これらのアプリでは操作の引っ掛かりといったものがほとんどありません。このような操作性を実現するにはおそらくWebサービスの時のように一つの流れで考えているのではなくて、画面のレイアウト作成、サーバアクセス、モデルの表示といった単位で処理を分け、それぞれを非同期・遅延処理で行えば良いのではないかと考えています。

わかっている開発者には、フレームワークなり、実装のパターンなりがあったりする常識的な話なのかもしれませんが、自分には疎い分野で手探りな状態が続いています。