2012-02-20 10 views
0

私の同僚が使用している既存のWebアプリケーションがあります。このWebアプリケーションは、純粋なHTML、CSS、およびJavaScriptを使用します。私はバックエンドを介してWebサービスとのみ通信しています。可能であればネイティブ機能を活用したいと思います。私はPhoneGapを見つけました。私が知る限り、基本的にはphonegap- [version] .jsと呼ばれるJavaScriptファイルがあります。私の理解から、このファイルは基本的にラッパーAPIです。次に、Getting Started情報(http://phonegap.com/start#wp)を使用して、さまざまなマーケットプレイスにコードを送り出すことができます。PhoneGapの説明

私の質問は、phonegap- [version] .jsファイルに関するものです。現在のところ、私のアプリケーションはモバイルウェブ上で正常に動作します。 phonegapがオプションであるかどうかを検出する方法はありますか?または、コードがネイティブで実行されているかどうかを検出しますか?たとえば、私はデバイス情報をサービスに戻したいと思います。そのために、私は以下を使用することに決めました: http://docs.phonegap.com/en/1.4.1/phonegap_device_device.md.html#device.platform。私の印象は、アプリケーションがブラウザで動作していた場合、phonegapは自動的にnavigator.useragentを使用するということでした。しかし、それがネイティブデバイスで実行されていた場合は、コンパイルされたレンディションを使用して、より特定の情報を渡します。

私は意味がありますか?私は誤解がありますか?私の印象は、phonegap- [version] .jsを使用し、それがネイティブアプリとして実行されていた場合はデバイス機能を使用するということでした。さもなければ、正常に失敗するフックがあります。誰かが私をまっすぐに操縦してくれますか?

答えて

0

この電話ギャップは、Xcodeを介してAppleのApp Storeにhtml5ファイルを展開するためのobjective-cライブラリです。すべてのファイルは、デバイス上にhtmlファイルとして存在し、Webサービスへのajax呼び出しを行い、そのデータをhtml5ビューに解析します。また、Phone GapではCamera、FileSystem、CoreGraphics、CoreDataなどのObject-Cブリッジを介してネイティブAPIを使用することができます。

つまり、モバイルウェブサイトでphonegap-version.jsを使用しないと、 App Store用のネイティブアプリとしてhtml5アプリケーションをパッケージ化していて、javascriptからネイティブapisデバイスを利用したい場合は、これを使用しますか?

モバイルWeb用とアプリケーションコンテナ用の2種類の異なるコードベースを展開する必要があるため、検出する必要はありません。あなたは

var runningOnDevice = false; 

を言うあなたのモバイルWeb用

var runningOnDevice = true; 

と1を言うあなたのデバイスブランチに変数を追加することができ、私は意味を作っていますか?

+0

はい。ありがとうございました。 – user208662