iPhoneからAndroidへの移植の注意点(その2) | オーシャンドライブ(ininc)開発チームのブログ
今回iPhoneアプリでプロジェクトAチームで「ここでキスして」を完成させたが、Appleがなかなか審査を通さないので、無駄な時間が過ぎるのもなんだしなって軽い気持ちでAndroidへ移植を始めました。
iPhoneをアンドロイドに移植する際の注意点をまとめてます。

3)戻るボタンがAndroidは付いてます。

これについてですが「だからどうした」って思うかもしれませんが、結構重要。iPhoneアプリではプログラム的に出口がなくなったりすると、フリーズしたままホームボタンすら利かなくなります。そうなると電源を強制的に落とすという、きわめてPCではご法度な行為を行わざるを得ません。しかしアンドロイドではおそらく全機種だと思うのですが、ブラウザの戻るボタンに近しいものが付いていて、その場合は戻るボタンを押すことで強制再起動を回避できます。裏を返すと、iPhoneアプリはプログラマーレベルで99点位の自信がないとリリースが難しいですが、アンドロイドは80点くらいでリリースしても良いと思います。しかも、間違いが見つかったらすぐアップデートをかければ30分前後でマーケットに反映されます。

プログラマーとしてはデバッグ作業はうまく付き合っていかないといけないもので、今までバグがひとつも体験したことがないプログラマーは存在しないはずです。100点を取ることは不可能という認識をすること、自分がどういうところでミスをするのかがすぐ見つけられることが経験則でなんとなくわかって育っていくものかと思います。

完成度として80点のクオリティーでOKとすれば、99点のクオリティーでのリリースの半分以下の納期でリリースできます。出してからはしんどいのですが、クラッシュレポートなどを読み進めたりお客さんと連絡を取りながら原因解明をしていけば自分ひとりで99点にするよりもトータルで早い段階で99点レベルの作品になるでしょう。

4)戻るボタンがAndroidは付いちゃってます。

さっきと何が違うのかというと、プログラマー的にはマイナス要素の戻るボタンです。iPhoneであれば、基本的な割り込みはホームボタンを押すという行為での割り込みしかないと思います。(電話、メールの割り込みは除く)しかし、Androidでは、戻るボタンが付いているために、そのとき行われている作業を強制終了させて次に進むということが有り得ます。具体的にいうと、「ここでキスして有料版」では、容量の問題で、はじめにSDカードに動画を取り込んでからゲームや動画がスタートするという手順をとります。アンドロイドでは、ダウンロード途中でキャンセルも可能で、キャンセル後に次に行く処理も可能となります。なので、それぞれの対策をとらないといけないので、iPhone用のプログラム仕様とは違うものになります。このあたりの細かい対応はiPhoneとAndroidではまったく別物なので、クロスプラットフォームなどの利用で資産の共有化は図れると思いますが、横着は物理的にできないので結果iPhoneとAndroidのそれぞれの開発は必要になります。

とりあえずここまで。次回は「メーカーごと、いや、同一メーカーでも機種ごとに仕様が違います」予定。