連載
» 2008年11月28日 00時00分 公開

App Store登録もOK!JavaScriptで作るiPhoneアプリこれ、俺ならこう使う(5)(2/4 ページ)

[立薗理彦,@IT]

ハイブリッドアプリケーションとは?

 ネイティブアプリケーションとWebアプリケーションを比べると、開発の容易さやiPhone以外のプラットフォームでの動作などでは、Webベースのアプリケーションのメリットが大きく、またデメリットも少ないことが分かります。ローカルストレージを利用することで、データ保存の問題もクリアできます。

 しかし、WebアプリケーションはApp Storeでの配布ができない点が、大きなマイナスです。苦労して開発したアプリケーションですから、より多くの人に使ってもらい、場合によってはビジネスにつなぎたいものです。

 そこで、HTML+JavaScriptの技術を使いつつ、ネイティブアプリケーションを開発する「ハイブリッドアプリケーション」ともいえる開発手法を検討してみます。ハイブリッドアプリケーションとは、このところ海外の開発者たちが注目しているiPhoneアプリの開発手法で、いつものWebアプリのように開発できるのに、App Storeで販売できてしまうという一挙両得の方法です。

早速、JavaScriptでiPhoneネイティブアプリを作ってみよう

 iPhone SDKに含まれるUIパーツに、WebブラウザSafariと同等の機能を提供するUIWebViewというクラスがあります。URLを指定してコンテンツを表示したり、JavaScriptを実行したりできます。

 このUIWebViewを使ってシンプルなアプリケーションを作成し、あらかじめリソースとして用意されたHTMLやJavaScriptを実行すれば、ネイティブアプリケーションでありながらコードの大部分をHTML+JavaScriptで構成するハイブリッドアプリケーションを作成できます。


 ここで紹介するフレームワークは、さらにGPSや傾きセンサなどの機能をJavaScriptから呼び出せるようにして、独自の拡張を行っています。

 GPS機能を使った位置情報の取得、傾きセンサの情報の取得をサポートしています。MITライセンス。「Binary Clock」「Inside Trader」というアプリケーションが、実際にPhoneGapで開発されApp Storeで販売されています。

 GPS、傾きセンサに加えて、カメラやフォトライブラリの画像の利用、バイブレーションの利用、電話機の固有情報(端末IDなど)の取得が可能です。オープンソース開発者向けにはGPLライセンス。商用の利用にはデベロッパライセンスの購入が必要です。

 XcodeやDashcodeにテンプレートをインストールすることで、ひな型プロジェクト作成から始められます。JSONライブラリやSQLiteへのアクセスを抽象化するデータオブジェクトなど、高機能な本格派ですが、その分フレームワーク自体の学習が必要です。ライセンスはLGPLです。

 QuickConnectの開発者は、Webテクノロジーを使ったiPhoneアプリケーション手法について書籍を執筆中のようです。こちらも楽しみです。

 ここまでのフレームワークとは若干異なりますが、JiggyAppもiPhoneで動くアプリケーションをJavaScriptで開発できるツールです。Jailbreakが必要で、一般的なアプリケーション開発には向きませんが、こんなものもあるということで紹介しています。

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。