モバイルアプリの作り方には大きく二つの種類があります。
1. ネイティブアプリ
2. ハイブリッドアプリ
ネイティブアプリ
iPhoneであればobject-c, アンドロイドであればjavaにあたります。これらの言語は端末のOSに直接働きかけるイメージで、より高速に処理をすることが可能です。
ネイティブ=デバイスに直接働きかけるため、無駄な変換処理がはいらず、処理が高速に行われます。ての込んだゲームなどはネイティブアプリでないと遅くて使い物になりません。
Facebookも以前はハイブリッドアプリで出来ていましたが、ザッカーバークをして『ここ数年の一番の過ちは、モバイルアプリをネイティブコードでつくらなかったこと』と言わしめました。
開発者に要求されるスキルが高いです。また、iPhone用とアンドロイド用の二つの別のプログラムを作る必要があり、開発期間が長くなります。
ハイブリッドアプリ
ネイティブアプリで作った枠の中にWeb技術を使ってコンテンツを作り上げていくものです。もっとも有名な構成はHTML5+css+javascriptです。その他にもFlexなんかでも作成かのうです。
Webサイトを作る要領でアプリを製作することが可能。技術者の多いフロントエンジニア、Webエンジニアがすぐに取りかかれる。iPhoneとアンドロイドで共通のコードを使うことができる。
複雑な処理は動作が重くなる。要件定義をしっかりした上で判断しないと、先のFacebookの例のように実用に耐えないものが出来上がる。
開発環境
アンドロイド
一番簡単なのはMonacoというオンラインサービスを利用するやり方。
http://monaca.mobi/ja/
ブラウザさえあれば開発が可能。無料版は3ビルド/dayまで。有料版はビルド上限があがったり、他にもいいことがあったりします。
https://monaca.mobi/ja/pricing
もっと原始的な方法で開発手順を知りたいという方はeclipse+SDK+ADT+phonegapを使うやり方。ちなみに私はこちらでやっています。
環境構築の参考にさせていただいたサイトはこちら。
http://techfun.cc/techinf/setup/android
-実際のスマートフォンで動きを確認するには-
Binフォルダ配下に<プロジェクト名>.apk というファイルが出来ます。これが本体になるので、どこかスマートフォンからダウンロードできるところにこのファイルを配置します。
スマートフォン側ではこのファイルをダウンロードし、クリックするとアプリが開きます。
もっと丁寧に教えて!という人はこちらがいいと思います。
[iOS/Android対応] HTML5 ハイブリッドアプリ開発[実践]入門 (Software Design plus)
当方海外在住なので、PDFで購入予定。こちらから購入できます。
技術評論社
iPhone
Xcodeを使う。(まだ試してないので後日追記します)