先日「nicoマンガ」という非公式ニコニコ漫画サービスのビューアをAndroidでリリースしました。その時に同様な機能を実装したiOSアプリも作っていた事を前回のブログで書きました。
今まで誰かが作ったアプリを別プラットフォームへ移植、もしくは自分で作ったけど別プラットフォームにそのまま移植出来ないから大幅に仕様変更して移植は行なった経験はありましたが、ほぼ同じ機能を搭載したアプリをiOS->Androidと続けて開発したのは(たぶん)初めての経験でした。今回はその時に感じたことをメモ程度に書き残しておきます。
比較
この内容を考えてる時に思いついた事をつらつら比較してきます。実装やテスト内容に踏み込んだ比較はしません、書くのメンドウですしね。
項目 | iOS | Android |
---|---|---|
外部ライブラリ | cocoa controlsサイトへ行けば大抵見つかる。探しやすいhubサイトの存在がアリガタイ | 頑張ってググる。 GitHubやGoogle Codeに色々あるがノイズが多いし、たいていスクリーンショットが無くて見つけにくい状況。でも、iOSと違ってJava用として作られたライブラリも使える(全てではない)ため、探せば色々とある...が、UI系はない |
断片コード | ぐぐる。 Qiita、GitHub、Stack Overflowサイト、個人ブログなどで見つかる。Stack Overflowでのヒット率が多い印象で、逆にGitHubでは少ない印象 |
ぐぐる。 GitHub、Google Codeサイト、個人ブログ、MLなどで見つかる。日本人のブログとMLによくヒットする気がする |
仮想端末でのテスト | シミュレータなので軽い | 重すぎる。エミュレータの重さに絶望する が、ここなどを参考に設定を良い感じにすると軽くなるようです。トラブルが発生するかもしれませんので、自己判断&責任でどうぞ |
実機でのテスト | 実機登録するフローは非常に手間だしトラブルが発生しやすいが、登録後はスムーズ | 実機登録するフローは割りと簡単*1だが、登録後にしばしばadbで端末認識しなくなる事があってトラブル |
IDE | Xcode必須…だが別にコードは他を用意てもいいがXcodeとは切っても切れぬ関係 | 自由だー!!デファクトはEclipse、自動でimportを追加してくれて素晴らしいなとXcode使ってると思ってしまう |
UI実装 | storyboardでの実装が楽。遷移が分かりやすいので実装時に遷移がブレにくい。 |
I love xmlな人にオススメしたいくらいxmlをひらすら書くことになる。javaでも書けるが基本xmlで書くことになるだろう。 Graphical LayoutからGUIレイアウト出来るが、xmlで書いたものを少し確認する程度に踏みとどまるのが吉。メリットはコピペし放題なので他からの流用がしやすい |
アプリ公開方法 | 全て英語、がんばって読んでください。項目は分かりにくい上にヘルプリンクなぞ無い、一度設定すると変更出来ない項目があるので事前に下調べが必要 | 日本語訳されている。分かりにくい項目にはヘルプがあり、文字数制限エリアにはカウンタがある親切設計 |
審査 | ある だいたい申請後に5営業日ほどで結果が返ってくる。クリティカルバグや、ガイドラインに違反してたらrejectされる |
ない でも規約に違反するようなアプリをリリースしてると、アプリが勝手に削除されたり。何度も繰り返していると垢BANされる。私のサブ垢で試したところ、3回アプリ削除された後に垢BANされた |
まとめた感想
コードをゴリゴリ書き続けたいならeclipseたんが優秀なのでandroid、UIを綺麗に作って楽しむならstoryboardや外部ライブラリが豊富なiOSやってると良いんじゃなかろうか。
どっちも楽しめるお得感あるプラットフォームはWindows Phoneなんだけど、ユーザ数が少ないのでアプリリリースしても反応薄いってデメリットがある三竦み関係。。。ってオチで。