[iPhone編]安定したネットワーク接続を前提にしてはいけない
iPhoneがiPod touchなどと比べて圧倒的に魅力的だったのは、スマートフォンならではのネットワーク接続機能のおかげだろう。
3G回線やWi-Fiにより場所を選ばずネットワークを利用できるので、さまざまな場所や状況を想定してアプリケーションを構想可能だ。
それにより、今までにない利用シーンを想定したユニークなアイデアのアプリケーションを作ることができた。
開発においても、iPhoneのフレームワーク「Cocoa Touch」には、ネットワーク経由でのデータ操作を念頭に置いた便利なメソッドがある。
例えば、XMLのパースを担当するNSXMLParserオブジェクトの[initWithContentsOfURL:]というメソッドである。
これは、パーサーオブジェクトのイニシャライズ(初期化)時に、指定したURLから直接XMLを取得し、パース処理を行ってくれるという優れものだ。
このメソッドを利用すれば、面倒なネットワークの接続処理などを一切気にせず処理を記述でき、手軽な実装が可能だ。
このように、iPhoneアプリにおいてネットワーク接続は当然の存在として扱われ、簡易な実装も用意されている。
そのため気軽に実装してしまいがちだが、現実はそう単純ではない。
なぜなら、iPhoneユーザーはネットワークにつながっていることが当たり前と感じており、
うまくつながらない時にも心地よい動作をしてくれるアプリケーションでないと不満を感じるからだ。
このような不満を解消し、ユーザーにとって便利だと感じるアプリケーションを作るには、ネットワークが不安定な状況を想定した上で、
ネットワークの切断が起きても利便性が落ちないアプリケーション設計を行う必要がある。
http://itpro.nikkeibp.co.jp/article/COLUMN/20100802/350926/