AndroidのAPIはほとんど公開

 さて、一方のAndroidのSDKは、Googleを中心とする推進団体「Open Handset Alliance」から提供され、Googleのサイトで無償でダウンロードすることができる。

Android SDK Downloadページ

 アプリケーションの開発には主にEclipseが使われ、「Android Development Tools (ADT)」と呼ばれるEclipse用のプラグインを導入することが必須だ。Windows、Mac OS X、Linuxの各OSで使用することができる。

Xcode

 開発環境の構築については「Androidアプリ開発,事始め - Androidで広がる,携帯アプリ開発の世界」に詳しい手順を記載しているので参照されたい。アプリケーションの開発に必要なライブラリのAPIはそのほとんどが公開され、デバイスの持つ様々な機能に自由にアクセスできる。ただし、各メーカーのAndroid端末特有の機能については、APIが公開されていない場合もある。

Androidの開発言語はJava、CやC++も一部使用可能

 AndroidのSDKには、iPhone SDKと同様、アプリケーションの開発を進める上で便利なツールが多数用意されている。中でも、Dalvik VMを搭載したQEMUベースのAndroidエミュレータは非常に高性能だ(その分、起動に時間がかかるが)。adbと呼ばれるツールを使ってPC上から端末そのものにシェル接続し、その状態をシステム・レベルで管理することもでき、柔軟性は高い。

 Androidのアプリケーションは、基本的にJavaベースの仮想マシン「Dalvik」を介して実行され、ほぼすべてのアプリケーションはJavaアプリとして動作する。したがって、アプリケーションの開発言語は主にJavaが用いられる。また、多少互換性は低くなるが、「Native Development Kit (NDK)」を使ってCやC++のネイティブ・コードで部分的に実装することも可能だ。信号処理や物理シミュレーションなどの比較的高負荷な処理は、ネイティブ・コードで実装することによってパフォーマンスの向上を図ることができる。

実機へのインストール、iPhoneは少々面倒

 ところで、iPhoneのアプリケーション開発において、自作のアプリを実機にインストールし実行するためには、やや煩わしいプロセスを踏まなければならない。詳しい手順の説明は「デバッグからリリースまでの手順 - オール・イン・ワンiPhone開発」をご覧いただきたいが、有料の「iPhone Developer Program」への登録が前提となっており、それに加えて各証明書の取得やデバイスの登録など、とかく手間がかかる。おまけにWebサイトはすべて英語なので、開発者にとっては多少不親切かもしれない。

 その反面、Androidだとそのような面倒な手続きはほとんどなく、USBケーブルで接続するだけで簡単に端末でデバッグすることが可能だ。もっとも、マーケットにアプリケーションを公開する際は、開発者登録として費用を支払わなければならない。

渡島 健太(わたしま けんた)
アシアル株式会社 エンジニア
渡島 健太(わたしま けんた)1987年福岡生まれ。Perlで書かれたCGIスクリプトの改造がきっかけで初めてプログラミングに触れる。2009年にアシアル株式会社に入社。以後、同社が近年積極的に展開するスマートフォン事業に従事し、Android向けアプリ開発のほか、iPhone向けサイトのデザインなども手がける。趣味はDJ。