これ、俺ならこう使うこれ、俺ならこう使う(5)

App Store登録もOK!
JavaScriptで作るiPhoneアプリ


立薗理彦
2008/11/28

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

- PR -

 ネイティブアプリケーションと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が必要で、一般的なアプリケーション開発には向きませんが、こんなものもあるということで紹介しています。

1-2-3-4

 INDEX
これ、俺ならこう使う(5)
App Store登録もOK!JavaScriptで作るiPhoneアプリ
  Page1
プロローグ
無理してネイティブアプリを作らなくてもいい
Webアプリ vs ネイティブアプリ──iPhoneアプリ開発の選択肢
ローカルWebアプリという第3の選択肢
ローカルストレージによるオフライン動作の実現
Page2
ハイブリッドアプリケーションとは?
早速、JavaScriptでiPhoneネイティブアプリを作ってみよう
PhoneGap
Big Five
QuickConnect
  Page3
DashCodeとPhoneGapで「Coco Twitter」を作ってみた
今回作ったもの
事前の準備
このアプリケーションの仕組み
DashcodeでWebアプリ部分を開発
DashcodeのUIライブラリを使って、ビュー部分を作成
Dashcodeフレームワーク
独自ファイルの追加
JavaScriptでコントローラを実装
  Page4
DashcodeプロジェクトをPhoneGapプロジェクトに組み込む
アプリケーションのビルド&動作チェック
サンプルアプリケーションの公開
おわりに
謝辞

@IT関連記事


iPhone向けWebアプリを作ろう
Safari Web Content Guide for iPhoneを読み解く iPhone/iPod touch上のWebブラウザのSafariで動くWebアプリを作成し、UIを最適化するコツを紹介します
リッチクライアント & 帳票」フ ォーラム 2008/5/29
日本のインディよ! iPhoneにカワイイ系で打って出よ
ものになるモノ、ならないモノ(24)
 ついにiPhoneが日本に。国内キャリアの垂直統合型ビジネスモデルが揺らぐとき、インディ系開発者が世界に打って出る商機がある!
Master of IP Network」フォーラム 2008/6/17
Adobe AIRでiTunes×Twitterクライアントを作った
これ、俺ならこう使う(2) iTunesで再生されている楽曲のタイトルを、Twitterアカウントに「いま聴いている曲」として投稿するAIRアプリケーション「音ログAIR」を作ってみました
リッチクライアント & 帳票」フ ォーラム 2008/8/11
Google App Engineは20%プロジェクトから生まれた
Google Developer Day 2008特集(2) プロダクトマネージャーに聞く、App Engineの成り立ちと現状、ビジネス、Amazon EC2との違い、そして日本人への期待
リッチクライアント & 帳票」フ ォーラム 2008/6/24


ご意見、ご感想は Smart&Social 会議室へどうぞ


 Smart&Social フォーラム トップページへ


TechTargetジャパン

Smart & Social フォーラム 新着記事

@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

RSSフィード

キャリアアップ

@IT Sepcial

イベントカレンダー

PickUpイベント

- PR -
もっと見る
- PR -

お勧め求人情報

ホワイトペーパーTechTargetジャパン

@IT Sepcial
ソリューションFLASH