BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース PhoneGapがモバイルプラットフォームにクロスプラットフォーム開発をもたらす

PhoneGapがモバイルプラットフォームにクロスプラットフォーム開発をもたらす

原文(投稿日:2010/02/22)へのリンク

クロスプラットフォームのモバイルアプリケーションは、今日、使える言語、OSそしてAPIの混在のために、非常に骨の折れるものである。iPhoneで、Objective-C と Cocoa、Androidで、Android JavaとAndroid NDKを使うネィティブコード、BlackBerryでJME、Palmの webOSでHTML5、SymbianでC++と他のオプションなど。すべてのプラットフォームを跨いで、基本的な、非GUIのコードさえ共有するのは、不可能ないし、非現実的である(iPhoneでJava、BlackberryでC、webOSでObjective-C?)。

PhoneGap を使うと、クロスプラットフォームなモバイルアプリケーションが書ける。どうやって?最近のすべてのスマートフォンで、程度の差はあるが、一貫して使うことができるもの:HTML5Javascript

しかし、PhoneGapアプリケーションは、webアプリケーションではない-普通、デバイスにローカルにインストールできアップストアを通して出荷できるアプリケーションにパッケージされるものである。

ネットワークを介して配信されるwebアプリケーションを使うより、PhoneGapを使うことの別の長所:加速度計カメラGPS、PIM、音などのフィーチャを利用できるAPIを持っている。
PhoneGapは、プラットフォーム(大抵の場合、それはWebKit)で使えるHTMLコンポーネントを使って、これを成し遂げている。プラットフォーム特有のコードは、スマートフォンのフィーチャに、アクセスするために使われ、従ってJavascriptで書かれる。PhoneGapアプリケーションのロジックは、Javascriptで書かれるので、豊富なPhoneGap APIを利用できる - 全スマートフォンプラットフォームで使える(PhoneGapのwikiに、各スマートフォンプラットフォームでサポートするフィーチャのテーブルが載っている)。

要するに:PhoneGapは、HTML5 と Javascriptで、できていて、HTML5では書けない、プラットフォーム特有なフィーチャをJavascript(とプラットフォーム特有のネィティブコード)を使って加えている。そして、その結果できるアプリケーションは、クライアントにネィティブにインストールできる - 適当なプラットフォーム特有のデプロイ方法、例えば、アップストアを使う。

InfoQは、PhoneGap の開発者の一人であるBrian LeRoux氏に、PhoneGapの現在の状況について聞いた。氏は、 Nitobi、PhoneGapの開発者を数名採用している会社で働いている。

InfoQ: モバイルプラットフォームへのサポートの進捗具合はどうですか?

本当に素晴らしい状況です:今や、iPhone, Android, Blackberry, Symbian そして Palmをサポートしています。Windows Mobile 6/6.5のサポートを始めました。Windows 7 Phone SDKで、我々に何ができるかを見るつもりです。どうもMixxでリリースされるらしいので、そのプラットフォームの成行きを見守る必要があります。

注:PhoneGapのwebサイトには、 PhoneGapがサポートしているプラットフォームをリストしているテーブルが載っている。

InfoQ: PhoneGapのポーティングにプラットフォームのベンダーから支援は、ありますか?

Sony Ericsson, Palm と Nokiaは、PhoneGapプロジェクトに非常に協力的で、彼らの開発者やリソースにアクセスするのを許してくれています。プラットフォームの完成度を上げるのに非常に助かってます。

InfoQ: 最近、あなた方は、 PhoneGapを使ったアプリケーションが、AppStoreでの販売を許可される、という確証をAppleから得ましたよね。

そうです!PhoneGapは、SDKのライセンス条項が認めている、公開のAPIしか使っていません。

InfoQ: iPhoneで注意する必要のあるもので、PhoneGapの開発者が目標にするものは、何かありますか?

オフラインでも、ネットワークが繋がれている時と同じようにちゃんと動くかを確認してください。これが、アップストアのレビュアーがチェックする最初のことです。これを実現するのは、PhoneGapにとって極めて容易なことです。というのは、PhoneGapのすべてのアプリケーションは、本質的に、とにかくオフラインだからです。データ転送のようなもののために、Reachability APIを使っていつもネットワークへの接続性をチェックできます。

InfoQ:現時点で、Symbianに対するベストなPhoneGapのソリューションは、何ですか?WRTあるいは、PhoneGapのQTバージョンですか?

今は、WRTです。これから6ヶ月後には、Qtです。たぶんもっと早いでしょう。本当にQtバージョンには、興奮してます。プラウザが驚くべきほど素晴らしいです。

InfoQ: あなたの経験から、Symbian と BlackberryでのHTML5 と Javascriptの状態は、どうですか?

そうですね、Symbian と BlackberryにおけるHTML5は、"近日上映"というのが、一番当たっているでしょう。(大笑い)。(Blackberryのメーカの)RIMがWebKit風のブラウザを次の四半期に配布する予定なのを知っています。Mobile World Congressで見せました。Symbianは、QtWebKit 4をそこそこのレベルで、だいたい同じぐらいの頃に出荷するでしょう。

InfoQ: もしネィティブなコードが必要なときに、PhoneGapのJavascriptで書いたアプリケーションに、ネィティブなライブラリを統合する方法がありますか?

プラットフォームをサポートしているそれぞれのPhoneGapは、ネィティブな拡張を簡単に行えますが、現在、もっとよいプラグインアーキテクチャを開発中で、このユースケースのみのために、年内のある時にリリースできると思ってます。各プラットフォームには、このやり方を書いたREADMEがあります。

InfoQ: デバイスにアクセスするための標準で、進展はありますか?

DAP (Device API Working Group)とBONDIによる標準化作業は、PhoneGapのすばらしいロードマップです。我々は、彼らの進捗に合わせて、これらの成果に従った実装を提供し続ける計画です。

InfoQ: 最近、PhoneGapで、一般の人達が貢献できる方法を変えましたね。その理由は、何ですか?

我々は、PhoneGap自体をある財団に寄付しようとしています、このために、我々は、CLA (Contributor License Agreements)に従う必要があります。PhoneGapは、MITライセンスで、オープンのままです。

InfoQ: PhoneGapの将来の計画を教えてください。

いつだって、もっと安定性ともっとAPIです。プラットフォームは、この1年で、かなり成熟しました、我々は、今、本当に品質に集中しています:テスト、文書化、ツールの使用にです。

PhoneGapを始めるベストな方法は、PhoneGapのwebサイトとwikiを見ることです。Nitobiが、様々な都市とオンラインでPhoneGapのトレーニングを提供している。

InfoQは、また PhoneGap開発者のBrian LeRoux氏とRobert Ellis氏とのビデオインタビュー をしており、その中で彼らは、PhoneGapの技術的な詳細と他の側面で深い説明をしている。また Brian氏が昨年のJSconfで行ったPhoneGapについての話も載せている。

この記事に星をつける

おすすめ度
スタイル

BT