Androidアプリケーション開発の選択肢
はじめに
いざAndroidのアプリケーションを作ろうと思ったときに必要なのは何で作るかだと思います。どんな選択肢があるのかをある程度まとめて見ます。
Java
最もAndroid開発で一般的なのはやはりJavaで作ることだと思います。開発者はAndroid SDKが用意した多くの機能を扱うことができます。とくにJavaはWEB上でも情報が多いため開発者はそれほど苦労しなくてすむでしょう。ただし、これはAndroidアプリケーション開発限定になってしまうので、iPhoneやWindows Phone7などほかのスマートフォンに対応するのは難しくなります。
JavaScript
WEBのフロントエンドエンジニアなどであれば、新たに言語習得のコストをかけずに持っている技術の応用で開発することも可能です。Titanium Mobileを使えば、JavaScriptでアプリケーションが作れます。iPhoneのアプリケーションが作れるところも魅力的です。
JavaScript、HTML、css
さらにWEB制作に近い手法で開発できるのがPhoneGapです。これはHTML、cssなどを含めたWEBの技術で開発が可能で、カメラやGPSを利用することもできます。また、Monacaというサービスを利用すればコーディング・デバッグ・ビルドをすべてブラウザ上で行ってアプリケーションを開発することもできます。(※Monacaは知り合いが開発に関わっていることから知ったのですが僕はまだ利用したことがないので実際どういう感じかわからないです。)
Adobe AIR
Android端末にAdobe AIRのRuntimeがインストールされていれば、Adobe AIR for Androidを利用したアプリケーションが制作できます。Flash技術者にとっては魅力的なのではないでしょうか。Flash CS5以上が必要なようです。
C#
有料ですが、なんと選択肢にはC#もあります。それがMono for Androidです。またiPhoneにはMonoTouchといのがあります。ちなみに関係ないですが、C#はWindowsPhone7だったり、PlayStation Suite SDKによるPlayStation Vitaで動くアプリケーション開発など、ホットになりそうな言語ですね。
C、C++
Android NDKではCやC++でネイティブに開発が行えます。
Processing
アーティストに人気の言語ProcessingにもAndroid SDKと連携してAndroidアプリケーションをビルドする機能があります。本格的なアプリケーションは難しいですが、アーティスティックなアプリケーションを開発するのには良い選択肢だと思います。(※Processingを試せます→http://and1019.blog93.fc2.com/blog-entry-102.html)
Unity
Unityを使えばコードを書かずに3Dゲームを作ることが可能なようです。C#やJavaScriptで開発を行うこともできます。
その他
RubyやPythoneなどでも開発が可能なようですが、一般的な選択肢になるにはまだ先のことだと思います。ゼロから学ぶにはあまり向かないかもしれませんね。