MOONGIFTではiPhone向けWebサイト開発、iPhoneアプリ開発を承っております。ご用命、ご質問などはinfo@moongift.jpまでお気軽にどうぞ!
今、多数の個人または企業がiPhoneアプリの開発を進めています。大きく分けて、自社サービスを利用促進するためにiPhoneアプリを開発するケースと有料のiPhoneアプリ販売で収益を上げるケースの二つが考えられます。前者はiPhoneアプリ自体に収益性を求めない場合が多いので開発言語であるObjective-Cを習得するコストが割高に感じられるケースが多く、たまたま社内にObjective-Cを習得している、または個人的な興味でiPhoneアプリを開発していた社内の人が中心になって開発するケースが多いようです。後者の収益をあげるモデルの場合、iPhoneアプリの市場性や収益性がまだ明確には見えておらず、ゲームなどがヒットしたとしても繰り返してヒットさせるのは非常に困難です。
そこで注目したいのがObjective-Cを使わないiPhoneアプリ開発です。代替え言語も選択肢に含めることが出来れば、習得コストが低減される可能性があります。またHTML5、JavaScriptを使ったiPhone向けサイト開発であればiPhone以外のスマートフォン(AndroidやPalm Preなど)でも表示できる可能性があるのでより広い範囲に情報が提供できるようになります。今回はそうしたObjective-C以外の言語によるiPhoneアプリ開発、またiPhone最適化サイト構築のためのライブラリを見ていきます。
Main Page – MonoTouch from Novell

MonoTouchはオープンソースの.NET実装を行っているMonoプロジェクトの派生物です。C#を使ってiPhoneアプリを開発できます。Monoプロジェクトはオープンソースで進められていますが、MonoTouchはサポートを付けた上で有償で提供されています。現在はMac OSXでのみ動作します。.NETは企業向けのシステム開発で利用されることが多いので、企業内システムとiPhoneを接続したり、共通したライブラリを活用したいと言ったニーズにマッチしているかも知れません。
iPhone RubyCocoa
http://d.hatena.ne.jp/takuma104/20090225/1235584788
iPhone上でRuby Cocoaを動作させたものがiPhone RubyCocoaです。RubyCocoaは元々Mac OSX向けのライブラリですが、Rubyを使ってOSX向けソフトウェアが開発できる代物です。それをiPhoneに移植することによって、Rubyを使ってiPhoneアプリが開発できるようになります。irbが実装されており、iPhoneアプリの動作を動的に変更できるのがユニークです。ネット接続用のライブラリを使ったり、WebDAVサーバ機能が組み込まれているので母艦と接続してデータを授受するようなアプリも開発できます。
Rhodes
http://rhomobile.com/products/rhodes/

RhodesもまたRuby VMを内蔵しておりRubyでiPhoneアプリを開発できるようにするフレームワークです。特にiPhone限定という訳ではなく、Android/Windows Mobile/RIM/Symbianといったプラットフォームもサポートされています。ビューはHTMLを使って作れるので、Webアプリケーションを作る間隔で開発できるのが利点です。テストやサーバなど一通りの開発についてサポートされています。フリーやオープンソース・ソフトウェアを作る場合は無料で、有料アプリケーションを開発する場合は500ドルになっています。
PhoneGap

PhoneGapはHTML/JavaScript/CSSを使ってiPhoneアプリを開発できるフレームワークです。こちらもまたiPhoneのみならずAndroidやBlackberryもサポートされています。JavaScriptから位置情報やバイブレーション、カメラ、サウンド、加速度センサー、アドレス帳情報を取得できます。オープンソース・ソフトウェアなのが最大の魅力です。ビューはHTMLなので、まさにWeb系の技術だけでiPhoneアプリを開発することができます。
Big5

Big5はJavaScriptを使ってiPhoneアプリの開発を可能にします。PhoneGapと似ていますが、こちらはiPhone向けに特化しているようです。位置情報、カメラ、加速度センサー、バイブレーションが利用できます。カメラで撮影した画像のアップロードにも対応しているようです。
(2010年3月3日追記)t_43z@Hatena++!
Javaを使ってiPhoneアプリを開発する方法として、FlexyCore(iSpectrum)というフレームワークがありました。Eclipseからインストールして、サンプルコードも多数用意されています。コンパイルを実行するとXCodeプロジェクトが生成され、XCodeを使ってiPhoneシミュレータ上で実行できるようになります。オープンソースの場合、オープンなアカウントを無料で利用できるようです。Pro版からは応相談のようです。
FlexyCore

Appcelerator Titanium

こちら忘れていました。HTMLやJavaScriptを使ってiPhoneはもちろんAndroidアプリも作成することができます。JavaScriptを修正後、コンパイルを実行するとXCodeプロジェクトを生成します。そしてそのままシミュレータやデバイス上でのテストが実行可能です。写真や動画を扱うことや位置情報も利用できます。SQLiteも利用可能です。RESTfulなWebサービスとの連携もできるので外部サービスとデータ連係するようなアプリも開発できます。
(追記終わり)
その他の有名な言語、PerlやPython、JavaについてはJailBreakすると実行環境のインストールが可能になります。非JailBreak環境や、App Storeで販売できるレベルのアプリを開発することはできないようです。
Java4IPhone::iPhone iPod touchにjavaを! – iPoday
http://www.ipoday.net/ipodtouch_applications/item_2267.html
Pythonで作るiPhoneアプリ – adonishiの日記
http://d.hatena.ne.jp/adonishi/20080822/1219578797
また、まだリリースされていませんがAdobe Flash CS5ではiPhoneアプリの生成機能が付くと言われています。これを使えばFlash開発者にとってもiPhoneアプリ開発への門戸が開かれることになります。実際既に幾つかのアプリが開発され、App Storeで販売されています。この場合の利点としてはFlashでWebブラウザ上でも遊べつつ、iPhoneアプリのダウンロードへ誘導することができる点です。小さなゲームの分野では大きな威力を発揮しそうです。
Flashコンバータ:Adobe、iPhoneアプリを作れる「Flash Professional CS5」発表 – ITmedia News
http://www.itmedia.co.jp/news/articles/0910/06/news016.html
Atlas

Atlasは現在βテスト中(にも関わらず20ドルかかります)のWebアプリケーションで、JavaScript版のXCodeとでも言うべきものです。Atlasを使うとWeb上でGUIアプリケーション並のインタフェース、機能をもったWebアプリケーションが開発できる他、デスクトップアプリケーションを生成したりiPhoneアプリを生成して出力することもできるようになっています。利用するのはJavaScriptですが、JavaScriptをObjective-C風にラッピングしたObjective-Jを使うので実際の開発はObjective-Cを使っているような感覚で行えるはずです。
あるレポートによるとネイティブアプリの収益性と、最適化されたWebサイトの収益性では将来的に最適化サイトの方が大きくなると言われています。これはネイティブアプリは現状では単発売りのモデルがメインになっており、かつオフライン性を重視する傾向があること、プラットフォームが限定されてしまうこと、ゲームやユーティリティ系がメインであるという理由が挙げられます。モバイル向けWebサイトの場合はiPhoneに限らずその技術が転用できる可能性があり、HTML5であればインタラクティブな仕組みを作ることも可能であり、開発コストはネイティブアプリを作るのに低いというメリットがあります。
iPhoneの市場性に疑問符が残る場合や、自社サービスがiPhoneに対して有効であるかどうか判断ができない場合はまずは最適化サイトから入るのが正しい方法と言えそうです。そこでiPhone向け最適化サイトを作る上で役立つフレームワークを紹介します。
Magic Framework
http://www.jeffmcfadden.com/projects/Magic%20Framework

Magic Frameworkは一つのHTMLファイルを分断して表示するiPhone向けWeb最適化ライブラリです。小説サイトのように長文を表示する際に、段落ごとに区切って表示するような使い方が考えられます。メインメニューでは一覧を表示して、そこから項目を選んで各ページに繋がる仕組みになっています。
Webapp.net

Webapp.netはフォームやリスト、写真、Ajax、検索フォームと言ったパーツに対応した最適化テンプレートです。チェックボックスもスライド式に対応していたりとiPhoneらしい表示が可能になっています。ログインウィンドウがせり出して表示される仕組みなども便利です。
UiUIKit
http://code.google.com/p/iphone-universal/

UiUIKitは実に多彩な表示に対応しているライブラリです。単なるリストと言っても右側に矢印をつけたり数字を付与したりと言った具合に設定できたり、右側に画像を表示するリストも可能です。チャット風に吹き出しを表示させるのに対応したものはUiUIKitくらいかも知れません。Flickrの画像を並列的に表示させるサンプルなど、機能の多さに目を見張ります。
jQTouch

jQTouchはHTMLテンプレートとJavaScriptをセットにしたライブラリです。名前の通りjQueryを使っています。リンクが自動的に変更される(iPhoneらしいアクションを行うように)といった処理が追加されるので、時として不具合につながる場合もあります。jQueryベースなので、別途ライブラリを使いたい時には役立つはずです。
iWebKit

iWebKitもリッチなインタフェースを扱うライブラリです。左から右へ流れていくスライドナビゲーションや履歴を記録するナビゲーションバー、フルスクリーン表示、ポップアップ機能も搭載されています。iTunesやApp Store、SMS、電話、Youtube、マップと言った標準で用意されているアプリケーションを呼び出すリンクは覚えておくと他のアプリケーションでも使えるので便利です。
Safire
http://code.rememberthisguy.com/safire/

Safireはごく基本的なビューを提供するライブラリです。テンプレートが凝っていない分、作り込むコストは発生しますがベースとして使うなら良さそうです。iZillowという不動産向けサイトのiPhoneサイトがSafireをベースにして作られています。
jPint

jPintはWebブラウザベースでiPhoneのメイン画面を表現したようなデザインを提供します。jPintはそのまま使うのは難しいですが、例えばWeb OSやグループウェアのiPhone向けインタフェースを作るならばぴったりかも知れません。カレンダー、音楽、メモ、クレジットといったiPhoneアプリ風のアイコンが表示され、それぞれリンクとして機能します。使いどころが限られますが、ぴたりとくるパターンがありそうです。
まとめ
Objective-CについてもiPhone向けライブラリが多数出揃っており、開発コストは当初に比べるとずいぶん低くなっています。ただしこれまでObjective-Cに取り組んだことがなかったり、CやC++の経験がないと習得コストがそれなりにかかってしまうのは間違いありません。そうした状況を考えると最適化されたサイトを立ち上げたり、Objective-C以外の選択肢を用いてiPhoneアプリを開発するというのは良い選択肢になるのではないかと思います。ゲームなどの高度なUIを用いた場合はHTML/JavaScriptレベルでは難しいですが、将来的にはFlashが代替え言語になるはずです。Objective-Cでは残念ながらMac OSXやiPhone以外で活躍できる場面が殆どないと思われますが、FlashやJavaScript、RubyであればWebで培った技術を活かしつつアプリケーションが開発できるのではないでしょうか。
MOONGIFTではiPhone向けWebサイト開発、iPhoneアプリ開発を承っております。ご用命、ご質問などはinfo@moongift.jpまでお気軽にどうぞ!