前人未踏の領域へ Androidアプリ開発編

Androidアプリ開発に関する調査メモ置き場。古い記事にはアプリ以外も含まれます。

PhoneGapについて

PhoneGapとは

PhoneGapはHTML5をベースにしたハイブリットアプリケーションフレームワーク。HTMLとJavaScriptというWebアプリ開発者に使いなれた言語で開発し、AndroidiPhoneなど異なるプラットフォームの端末に配備できる。
http://phonegap.com/

特徴

  • オープンソース
  • 様々なプラットフォームに対応
  • ネイティブ機能に対応 http://phonegap.com/about/features
  • リリースしたいOSごとにその開発環境でビルドする必要がある(有料ビルドサービスもある)。
  • Webkitを実装。ブラウザとして機能し、ネイティブ機能へはJavaScriptAPIを提供している

欠点

  • バックグラウンド処理や端末固有の機能などすべてに対応するわけではない
  • 端末ごとに見た目、挙動が異なる場合がある。
  • パフォーマンスが落ちる
  • ネイティブアプリケーションと比べて操作性が劣る部分がある

開発のお作法

PhoneGapそのものはWebブラウザとして機能し、ネイティブライブラリとの接続用JavaScript関数を提供しているにすぎないため、UIそのものについては自前で実装する必要がある。とはいえ自分でUIデザインをするのはそれなりに面倒なので、モバイルに特化したJSフレームワークと組み合わせて使うことになるだろう。

Titaniumとの違い

  • PhoneGapは既存のWebアプリケーション(HTML、CSSJavaScript)をそのままパッケージ化して実行
  • Titanium Mobileは基本的にJavaScriptだけで開発する。Titanium MobileのAPIに従ってJavaScriptのコードを記述し、コンパイル時にデバイスごとのネイティブコードに変換する
  • Titaniumは開発言語がJavaScriptに変換されたイメージ。Webアプリではない。UIを含めTitaniumのAPIを学習する必要がある
  • Titaniumの方が高速に動作する
  • 移植性はPhoneGapの方が高い。