Blog Entry  (Jan. 11, 2012, 2:44 p.m.)

Tilo Mitra's avatar

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++でネイティブに開発が行えます。

Lua

簡単に iPhone と Android 端末で動くゲームを作るのであれば Moai Corona で、 Lua を使って開発できます。 Lua は比較的覚えやすく簡単に記述できる言語のようです。

Processing

アーティストに人気の言語 Processing にも Android SDK と連携して Android アプリケーションをビルドする機能があります。本格的なアプリケーションは難しいですが、アーティスティックなアプリケーションを開発するのには良い選択肢だと思います。(※Processingを試せます→ http://and1019.blog93.fc2.com/blog-entry-102.html

Unity

Unity を使えばコードを書かずに3Dゲームを作ることが可能なようです。C#や JavaScript で開発を行うこともできます。

その他

Ruby やPythoneなどでも開発が可能なようですが、一般的な選択肢になるにはまだ先のことだと思います。ゼロから学ぶにはあまり向かないかもしれませんね。

元の記事へ