図1●「ゴルフるず」の画面例。iPhone版(左)とAndroid版(右)がある
図1●「ゴルフるず」の画面例。iPhone版(左)とAndroid版(右)がある

 Javaエンジニアがある日突然、iPhoneアプリ開発にアサインされた…。iPhoneとAndroid端末の両方でアプリケーションを開発した著者が、iPhone版の開発過程を振り返りながら、それぞれの開発環境や提供形態の違いをレポートします。

 6月下旬に発売されたiPhone 4で一層の盛り上がりを見せるiPhoneや、その勢いに負けじと国内でも続々発売されているAndroid端末など、急成長が期待されるスマートフォン市場。当然のことながら、この市場を狙い、数多くの企業がアプリケーションの開発・提供に乗り出しています。

表1●「ゴルフるず」公開までの経緯
2009年6月Android版ゴルフるずの開発を開
2009年8月Googleのコンテストに応募
2009年10月カテゴリTop20に残るも落選
2009年10月iPhoneへの移植を開始
2010年3月開発完了・アプリ申請
2010年4月iPhone版ゴルフるずをリリース
2010年6月Android版ゴルフるずをリリース

 私(著者)の務める会社でも「ゴルフるず*1」というゴルファー支援アプリケーションを開発し、iPhone版とAndroid版の販売を開始しました(図1)。このアプリは当初、米Googleの開催する「Android Developer Challenge」というコンテストに向けて開発したものでしたが、その後iPhoneに移植し、まずはiPhone版からリリースしました(表1)。本レポートでは、このゴルフるずの開発体験に基づき、iPhoneアプリとAndroidアプリそれぞれの開発環境や提供形態について比べてみたいと思います。

“持っていたから”iPhoneアプリ開発に挑戦!

 私はこれまで、Javaを用いたBtoB(企業間取引)システムを開発してきました。それが2009年10月、たまたまiPhoneを所有しているという理由で、「iPhoneアプリを開発してみない?」と会社から提案されました。iPhoneアプリ開発の知識はゼロでしたが、これは面白そうと感じ、参加することにしました。

 直ちに開発プロジェクトが始まり、私には次のタスク?が待ち受けていました。
(1)Macの操作や開発ツールの使い方を覚える
(2)開発言語のObjective-Cを覚える
そうです、このときまでiPhoneはおろか、Macのアプリを開発したこともなかったのです。

 支給されたMacを起動したとき、私は初めてMacの世界に足を踏み入れました。それまでは主にWindowsを使っており、Macを使う機会は全くなかったため、まずはその操作に慣れるところから開発はスタートしました。

図2●Xcode(左)とEclipse(右)の画面
図2●Xcode(左)とEclipse(右)の画面
[画像のクリックで拡大表示]

 私を含め開発メンバーは3名。3人ともMac初心者だったため、しばらくの間はMacに触れながら便利な機能を教え合うなど楽しい時間を過ごしました。Macの操作自体は非常にシンプルなので数時間で慣れましたが、iPhoneアプリで標準の統合開発環境であるXcodeに触れたときは、それまで使用していたEclipseとの操作性の違いや、ソースコードを打つ際のMac特有のキーボード配列に苦労しました(図2)。当時、WindowsとMacを行ったり来たりしていた私は、特にキー配列の違いに混乱し、ショートカット・キーを打つときなどはタイピングミスばかりしていました。