HTML5とPhoneGapで作る,iPhone/Androidアプリ開発TIPS

第1回 PhoneGap 2.1.0リリース─Shazron氏ブログ/changelogで追うPhoneGapの新機能と修正点

この記事を読むのに必要な時間:およそ 6 分

PhoneGapはAdobeが開発,公開しているクロスプラットフォーム・モバイルアプリケーションの開発フレームワークです。PhoneGapを用いることで,HTML5+CSS+JavaScriptのみでさまざまなプラットフォームに対応するネイティブアプリケーションの実装が可能になります。この連載では,PhoneGapの新着情報や,PhoneGapを使ったiOSおよびAndroidアプリケーションの開発ティップスをお届けしていきます。どうぞお楽しみください。

PhoneGap/Cordovaとは

PhoneGapはAdobeが開発,公開しているクロスプラットフォーム・モバイルアプリケーションの開発フレームワークです。PhoneGapについてはPhoneGapで手軽にiPhone/Androidアプリを作ろう:第1回 PhoneGapとはを。PhoneGapとCordovaの関係については,もっと使おうPhoneGap/Cordova 2.0.0:第1回 PhoneGap/Cordovaとはをご参照ください。

PhoneGapで手軽にiPhone/Androidアプリを作ろう
  • 連載期間: 2011/8/31~2011/9/20
  • PhoneGap 1.0.0ベース
  • PhoneGapとは
  • PhoneGapで Hello, World!
  • PhoneGap:Build
  • PhoneGap API一覧
  • jQuery MobileとStorage APIでメモ帳アプリ
  • Camera APIとHTML5 Canvas,外部プラグインを利用したカメラアプリ
もっと使おうPhoneGap/Cordova 2.0.0
  • 連載期間: 2012/8/7~2012/9/26
  • PhoneGap 2.0.0ベース
  • PhoneGapとCordovaの関係
  • PhoneGap 2.0.0の変更点
  • PhoneGap 2.0.0において,ターミナル上でiOSプロジェクトの作成・iOSシミュレータ起動
  • weinreを使ったiOS/Androidアプリの動作検証
  • iOS/Androidアプリケーションのファイルシステム構造
  • iOS/AndroidアプリでFile APIを利用したファイル操作(ファイル・ディレクトリ読み書き/ファイルダウンロード・アップロード)

PhoneGapとは

PhoneGapとは

PhoneGap 2.1.0リリース,主要な11の変更点

9月21日(米国時間),PhoneGap 2.1.0がリリースされました。

Cordovaの主要開発者の一人,Shazron Abdullah氏のブログ - Shazron's Cordova (aka PhoneGap) Blogにて,⁠11 upcoming changes for Cordova iOS 2.1.0」というタイトルの元で11の変更点がまとめられています。

  1. Automatic Reference Counting(ARC)のサポート
  2. パッケージインストーラ(.pkg)の削除
  3. CORDOVALIBの削除
  4. VERSIONファイルの削除
  5. CordovaLibサブプロジェクトより,CordovaLibApp/CordovaLibTestを削除
  6. プロジェクトを作成するコマンドライン用のスクリプトにて,パスにスペースが含まれる場合でも正常に動作するように
  7. ホワイトリストにフルパス表記をサポート。より厳格なルールで運用ができるように
  8. JavaScript->Nativeブリッジ改修。scroll CSSを使用した後でclick/touchイベントが発火しない問題を解消
  9. iOS6に対応
  10. 特定の環境下におけるコンパイルエラーを修正
  11. プラグインシグネチャの更新

iOS向け開発環境の変更点について,先に要点のみをまとめると,次のようになります。

  • Automatic Reference Counting(ARC)サポート
  • iOS6対応
  • 複数のCordovaバージョンを同時にインストールできるように
  • インストーラがなくなり,必要なファイルをすべて手動でインストールする必要がある
  • その他,バグフィックス

それでは主要な11の変更点を見ていきましょう。

1. Automatic Reference Counting(ARC)のサポート

メモリ管理--retain, release, autoreleaseコードの挿入をコンパイラに行わせるAutomatic Reference Counting(ARC)をサポートしました。ARCを用いる場合,PhoneGapプロジェクトで利用しているプラグインもARCに対応したコードに修正する必要があります。

2. パッケージインストーラ(.pkg)の削除

Mac OS X 10.8(Mountain Lion)以降ではGatekeeperが導入され,開発者署名のないインストーラはそのままではインストールできなくなりました。

Cordovaの開発チームは「Cordovaのソースコードを成果物としてリリースする」という理念に基づき,PhoneGapのパッケージバイナリに署名をしませんでした。この方針により,PhoneGap(Cordova)パッケージインストーラが成果物から削除されました。

Mac OS X環境でPhoneGapを使用する場合は,手動にて各種ソースファイル,スクリプトファイルをハードディスクに配置することになります。既存のPhoneGapプロジェクトをほかのディレクトリに移動したい場合は,update_cordova_subprojectコマンドを実行する必要があります。

3. CORDOVALIB変数の削除

PhoneGap 2.1.0以前ではCordovaLibサブプロジェクトの場所を,CORDOVALIB変数を参照することで取得していました。2.1.0では,CordovaLibサブプロジェクトの場所が直書き(hard-coded)されることになりました。この修正により,複数のCordovaバージョンをインストールした状態で開発・テストが可能になります。

使用するCordovaLibサブプロジェクトのバージョンを変更する場合は,前述のupdate_cordova_subprojectコマンドを実行する必要があります。

4. VERSIONファイルの削除

成果物よりVERSIONファイルが削除されました。VERSIONファイルはCordovaLibやDevice APIでデバイスの情報を取得した際,device.cordovaに格納される文字列を取得する際に読み出されていました。

この実装依存により,PhoneGapプロジェクト内にVERSIONファイルが存在しない場合にクラッシュする報告が寄せられていました。

著者プロフィール

富田宏昭(とみだひろあき)

株式会社キクミミでFileMaker/SQLiteを使ったWebアプリ開発に従事しながら,オープンソースソフトウェアのハウツー記事執筆を行う。趣味は横乗り系スポーツ,美術館めぐり,高速ジャンクション鑑賞。

コメント

コメントの記入