タオソフトウェアの谷口岳代表取締役
写真●タオソフトウェアの谷口岳代表取締役

 2010年6月に日経BP社が主催した「Android Application Award 2010 Spring」で、大賞を受賞したのが、目覚まし時計作成ソフト「tWakeUpCallMaker」(関連記事)。開発したタオソフトウェアの谷口岳代表取締役(写真)がソフトウエア開発者向けイベントX-over Development Conference(XDev)2010に登壇し、米Googleの携帯端末向けOSのAndroidを利用したアプリケーション開発や、最新OSのAndroid 2.2のポイントについて解説した。

良い意味でも悪い意味でも自由度は高い

 谷口取締役は講演の中で「Androidの最大の魅力は自由度の高さ」と説明する。tWakeUpCallMakerも、Android上でAndroidアプリを作成するという特殊な仕組みを実現している。これは、iPhoneアプリでは実現できない機能だ。「Androidアプリケーションでは、裏技的なプログラムを組むと、iPhoneでは実現できなかった機能を実装できる」と話す。試行錯誤しながらプログラミングすることで、実装不可能と思われていた機能を実現することができるわけだ。

 一方で、自由度の高さがデメリットになることもある。それが、受託開発を行う場合だ。「iPhoneアプリに比べてドキュメントが不足していることもあり、できることがはっきりしていない。何とか作り込めば要望した機能が実現できるのでは、と顧客も期待する。できないことを証明することは難しく、受託開発は非常に大変になる」という。

2.2ではJITコンパイラとMessaging APIに注目

 続いて、最新Android OSであるAndroid 2.2について解説した。日本では、Android 1.6が主流だが、今後はAndroid 2.2を搭載した端末が増えてくると思われる。谷口取締役はAndroid 2.2の新機能の中でも、Androidアプリケーションを実行する仮想マシン(Dalvik VM)に搭載した「Dalvik JIT(Just In Time)コンパイラ」と「Cloud to Device Messaging API(Application Programming Interface)」に注目。

 JITコンパイラは、プログラムの実行時にコンパイルしたコードをメモリー内に保管しておき、再び利用するときは保管しておいたコードを直接実行するもの。JITコンパイラを搭載したことで、「2~5倍ほどアプリケーションの高速化が図れる」という。

 注意点もある。JITコンパイラを使えば、どんなアプリケーションでも2~5倍高速化できるわけではない。「オセロや将棋などの思考ルーチンなどは5倍近く速くなるが、仮想マシンを使わない画面描画などの処理は、ほとんど高速化が期待できない。どうしても高速化させたい場合は、NDK(Native Development Kit)を使って、Java言語では処理が遅いプログラムをC/C++で作成する必要がある」という。

 また、プッシュ型のサービスを実現するMessaging APIは「化ける可能性のある技術だ」と話す。Messaging APIを使えば、サーバー側からメッセージを表示したりアプリケーションを起動したりできるようになる。例えば、携帯電話を落としてしまったときに、サービス側からプッシュして位置情報を取得することなどが可能になるという。従来では、キャリア側で行っていたサービスが簡単に個人で実現できるようになるわけだ。

携帯電話以外の端末にも注目

 最後に、谷口取締役は「携帯電話以外のデバイスにも注目すべきだ」という。最近では、東芝やデルなどが、携帯電話ではないAndroid搭載端末を出荷している。「これからは、業務端末としてAndroidが使われるだろう。既にヨーロッパでは、携帯電話以外の端末も人気になっており、携帯電話以外の端末を使ったビジネスチャンスを逃してはならない」と講演を締めくくった。