phone gap による timelinemap のスマートフォン・アプリ開発

29
PhoneGapによるTimelineMap のスマートフォン・アプリ開発 2010.12.4 加藤 大騎

Upload: tokyo-city-university-ueno-lab

Post on 01-Nov-2014

2.524 views

Category:

Documents


0 download

DESCRIPTION

12月4日(土) 横浜ストリームアドバンスト講座 【F】Androidアプリ開発講座 2日目 - 2/4

TRANSCRIPT

Page 1: Phone Gap による TimelineMap のスマートフォン・アプリ開発

PhoneGapによるTimelineMapのスマートフォン・アプリ開発

2010.12.4 加藤 大騎

Page 2: Phone Gap による TimelineMap のスマートフォン・アプリ開発

はじめに

•今回対象にするスマートフォン・プラットフォーム

• iPhone

• Android

Page 3: Phone Gap による TimelineMap のスマートフォン・アプリ開発

iPhoneでアプリ開発するには

•開発にはXcodeを使うのが一般的

• Objective-C言語の習得

• 実機での動作確認

• AppleへのDeveloper登録($99/year)

• AppStoreの審査

Page 4: Phone Gap による TimelineMap のスマートフォン・アプリ開発

Androidでのアプリ開発

• Eclipseによる開発環境が多い

• エミュレーターで複数の環境を用意できる

• 実機へのUSBインストールも容易に可能

• マーケットの公開には開発者登録が必要($25)

Page 6: Phone Gap による TimelineMap のスマートフォン・アプリ開発

PhoneGapとは

• HTML+JavaScriptで作ったWebサイトをアプリに変換

• iOS, Android, BlackBerry, Symbian,...

• 各種センサーやストレージは専用のAPIから利用可能

• AppStore, Androidマーケットへの登録も問題なし

Page 7: Phone Gap による TimelineMap のスマートフォン・アプリ開発

類似の技術

•Adobe Flash CS5

• Titanium Mobile

• PhoneGap

Page 8: Phone Gap による TimelineMap のスマートフォン・アプリ開発

Adobe Flash CS5

※1 Adobe AIRを併用

※2 iPhoneでは利用不可

iPhone ○

Android △※1

Web △※2

Page 9: Phone Gap による TimelineMap のスマートフォン・アプリ開発

• 利点

• ActionScrpit3が使える

• RAD※ツールを使った開発ができる※ Rapid Application Development

• 欠点

• 高額な開発環境が必要

• 今後のAppleとの関係が不鮮明

Page 10: Phone Gap による TimelineMap のスマートフォン・アプリ開発

Titanium Mobile

iPhone ○

Android ○

Web ×

Page 11: Phone Gap による TimelineMap のスマートフォン・アプリ開発

• 利点

• 利用者からの情報が急速に増加しつつある

• ネイティブ専用のため、少し処理が早いかも

• 欠点

• 独自の言語仕様を覚える必要がある

Page 12: Phone Gap による TimelineMap のスマートフォン・アプリ開発

PhoneGap

iPhone ○

Android ○

Web ○

Page 13: Phone Gap による TimelineMap のスマートフォン・アプリ開発

• 利点

• Web開発で使ったコードがそのまま使える

• 多様なプラットフォームに対応

• 欠点

• Webベースのため、パフォーマンスで劣る可能性

• いつサポートを打ち切られるか分からない現在はAppleから規約違反がないという公式の回答を得ている

Page 14: Phone Gap による TimelineMap のスマートフォン・アプリ開発

動作環境のまとめ

Flash CS5 Titanium Mobile PhoneGap

iPhone ○ ○ ○

Android △ ○ ○

Web △ × ○

Page 15: Phone Gap による TimelineMap のスマートフォン・アプリ開発

PhoneGapが適するケース

•Webサイトと連携したアプリ

• e.g. Webサイトのモバイル版をそのままアプリにする

• マルチプラットフォームで展開したい

• 実際に書くコード量を減らしたい

• Dashcodeを併用すると大幅に楽ができる

Page 16: Phone Gap による TimelineMap のスマートフォン・アプリ開発

PhoneGapが向かないケース

•本格的なゲームアプリを作る場合

• 十分な性能が出ない可能性

• マルチタッチが使えない

• 商業的に展開したい場合

• Objective-Cで書いた方がAppleの保証があるので安心

Page 17: Phone Gap による TimelineMap のスマートフォン・アプリ開発

TimelineMapのiPhoneアプリ化

•元々Web上のプログラムとして設計済み

• Dashcodeを利用して、RAD環境で開発

Page 18: Phone Gap による TimelineMap のスマートフォン・アプリ開発

実際に作ってみる

Page 19: Phone Gap による TimelineMap のスマートフォン・アプリ開発

開発のための準備

• PhoneGapのテンプレートをXcodeにインストール

• Xcodeの新規作成画面からPhoneGapを選択

Page 20: Phone Gap による TimelineMap のスマートフォン・アプリ開発

こんな感じに

Page 21: Phone Gap による TimelineMap のスマートフォン・アプリ開発

PhoneGapへの取り込み

•作成しておいたWebサイトをwww/に設置

• 最初に表示されるindex.htmlを確認

• (プロジェクト名)-info.plistでプロジェクト名等を設定

Page 22: Phone Gap による TimelineMap のスマートフォン・アプリ開発

iPhoneシミュレーターで実行

•プロジェクトをビルド

• iPhoneシミュレーターが起動

• 「PhoneGap」の文字が表示された後に開始

Page 23: Phone Gap による TimelineMap のスマートフォン・アプリ開発

ホームに戻ると

Page 24: Phone Gap による TimelineMap のスマートフォン・アプリ開発

Androidの場合

Page 25: Phone Gap による TimelineMap のスマートフォン・アプリ開発

PhoneGapへの取り込み

• PhoneGapの標準フォルダ構成を設置

• framework/assets/www/にWebサイトを配置

Page 26: Phone Gap による TimelineMap のスマートフォン・アプリ開発

Eclipseへインポート

• framework/以下をEclipseにプロジェクトとして読込み

• Androidエミュレーターを起動

• コンパイルして実行

Page 27: Phone Gap による TimelineMap のスマートフォン・アプリ開発

Androidでも同様に実行

Page 28: Phone Gap による TimelineMap のスマートフォン・アプリ開発

今日のまとめ

•既存のサイトがあればコーディング量ほぼゼロで実現可能

• 新たに作る場合でも、Dashcode等の利用で負担を軽減

• 同じコードから複数の環境に向けたアプリを作成可能

Page 29: Phone Gap による TimelineMap のスマートフォン・アプリ開発

参考資料

• Titanium Mobile Application Development

http://www.appcelerator.com/products/titanium-mobile-application-development/

• PhoneGaphttp://www.phonegap.com/

• multimedia designer, interactive multimedia | Adobe Flash Professional CS5http://www.adobe.com/products/flash/whatsnew/

• Adobe Labs - Packager for iPhone

http://labs.adobe.com/technologies/packagerforiphone/