Phone gap

2,807 views

Published on

PhoneGapについてしらべたことと感じたこと

Published in: Technology, Education
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,807
On SlideShare
0
From Embeds
0
Number of Embeds
187
Actions
Shares
0
Downloads
0
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Phone gap

  1. 1. PhoneGapハイブリットアプリケーション フレームワーク
  2. 2. ハイブリットアプリケーションとは各OSにあわせた言語(objective-c,java)で開発するのではなくある特定の言語で開発し、各OS用のネイティブアプリケーションに変換するフレームワーク One source multi-use
  3. 3. PhoneGapとは開発言語 ・HTML, CSS, JavaScript特徴 ・既存のWeb技術を利用できる ・開発したアプリをネイティブアプリとしてラップする  よって厳密には「変換」はしていない ・ネイティブアプリ機能(カメラ、加速度センサー等)は  JavaScriptから利用できるようにJavaScript APIを用意
  4. 4. メリット・デメリット■ メリット ・1ソースでの複数OS展開 ・Webの既存スキル、技術を利用できる■ デメリット ・Viewはブラウザなので、現状Webで発生している  OS、端末による表示/機能差分が同じように問題になる  →対応方法は次のページ参照。。。
  5. 5. Viewフレームワークブラウザによる表示差分を吸収する各種フレームワークを利用してViewを開発する ・jQuery Mobile http://jquerymobile.com/  →jQueryによるモバイル端末用View構築フレームワーク  →HTMLドリブン ・Sencha touch http://extjs.co.jp/products/touch/  →ネイティブアプリを再現させるフレームワーク  →JavaScriptドリブン 
  6. 6. 利用できるネイティブ機能公式サイト http://www.phonegap.com/about/features
  7. 7. 開発フロー1. 好きな開発環境を用意(iPhone, Android)2. 開発3. 開発環境でのテスト・デバッグ4. 他OSの開発環境へコピー&アプリ変換5. 対象実機テスト6. リリース ※アプリに変換するためには対象の開発環境が必要 ※クラウドサービスを利用する
  8. 8. クラウドビルドサービス公式サイト https://build.phonegap.com 1つのソースを複数のネイティブアプリに変換してくれる
  9. 9. Webかハイブリットかネイティブか?悩ましいのが、Webアプリでいいのか?アプリにすべきなのか?また、アプリはハイブリットでいいのか?ネイティブで1から作り込むかの判断それぞれでの守備範囲をまとめることでヒントを探る● Web(html, css, JavaScript)でできること● ハイブリットアプリ(PhoneGap, Titanium Mobile)でできること● ネイティブアプリ(Objective-c, Java)でできること
  10. 10. 比較 ● Webアプリケーション易しい 早い難易度 スピード ● ハイブリットアプリケーション難しい 遅い ● ネイティブアプリケーション コスト・時間を使いすぎないよう 要件から適切な方法を選択する必要がある
  11. 11. 守備範囲 - Web アプリケーション■ HTML5  ・データ保存( localStrage, WebSQL)  ・データ通信( Ajax, WebSocket)  ・2D描画( SVG )  ・3D描画( WebGL )  ・ビデオ再生( video tag )  ・位置情報( geolocation )  ・ドラック&ドロップ ( drag & drop)■ CSS3  ・アニメーション
  12. 12. 守備範囲 - ハイブリットアプリケーション■ PhoneGap API  ・加速度センサー  ・カメラ  ・方位磁針  ・連絡帳アクセス  ・ファイルアクセス  ・メディアアクセス  ・通知 (ポップアップ、アラート、バイブ)  ・ストレージアクセス ( SDカード )
  13. 13. 守備範囲 - ネイティブアプリケーション■ Objective-c / Java  ・ウィジェット  ・OS特有のUI  ・バックグラウンド実行  ・ネイティブ言語提供のライブラリを利用した機能  ・データ加工、解析   (画像編集、バーコード読取)
  14. 14. 気になること・ネイティブ化後の逆コンパイルと修正 →できれば、ネイティブ機能の追加も可能?

×