2012-05-03 9 views
1

ASP.Net MVCによって生成されたクライアントWebアプリケーション(Html 5、CSS、JQueryMobileなど)があります。私はASP.Net MVCを使用して、ユーザーエージェントを従来のブラウザまたはモバイルブラウザとして識別しています。モバイルブラウザの場合は、モバイルビューをレンダリングします。このアプリは、デスクトップ上のブラウザやモバイルデバイスのブラウザ(iPadやAndroidタブレット)からアクセスすると、意図したとおりに動作します。PhoneGapを使用してWebサイトにアクセスする

クライアントはPhoneGapに自分のアプリをラップして、Google PlayとAppleストア用の配布可能ファイルを作成することができます。私はPhoneGapには比較的新しいので、私が取ったアプローチは、上記アプリケーションのURLにアクセスするiframeを持つ、剥奪されたHTMLページを作成することです。私の目的は、Dreamweaver CS 5.5とPhoneGapを使用してAPKファイルとiPadを生成し、クライアントのアプリをさまざまなモバイルストアに読み込むことです。

このアプローチが正しいかどうかわかりません。それはうまくいくはずです:アプリを呼び出すiframeしかないindex.htmlページを削除しました。ここでは、コードです:私は上記のコードを使用してAPKファイルを作成したとIceCreamSandwhichを実行しているAndroidタブレットでそれをロードした

<html> 
<head>... phoneGap.js..</head> 
<body style="margin:0px;padding:0px;overflow:hidden"> 
    <iframe src="[URL TO WEBSITE HERE]" frameborder="0" style="overflow:hidden;overflow-x:hidden;overflow-y:hidden;height:100%;width:100%;position:absolute;top:0px;left:0px;right:0px;bottom:0px" height="100%" width="100%"></iframe> 
</body> 
</html> 

が、パフォーマンスが恐ろしいです。しかし、私は同じAndroidのタブレット上のブラウザを介してアプリにアクセスすることができ、すべての設計どおりに動作します。

これを動作させる方法については、誰かが正しい方向に向いていますか?私はASP.Net MVCを変更することはできません。 ASP.Net MVCによって生成されたモバイルアプリをパッケージ化してGoogle PlayとApple Storeに入れる方法が必要です。

答えて

1

iframeで実行されているコードではphonegap.jsにアクセスできないため、ほとんどの場合動作しません。

インデックスページをサーバーにリダイレクトすることはできますが、アップルが自分のアプリケーションストアを通じて配布することを許可しない可能性が高くなります。これには、phonegap/cordova jsファイルをサーバーに配置する必要があります。

「典型的な」phonegap/cordovaアプリケーションは、クライアント上に存在するリソース(アプリケーションにパッケージ化されています)を持ち、サーバーは通常、REST + JSON APIを介してデータを提供します。

ビルドすると聞こえるのは、ラップされたWebサイトで、IMHOはアプリではなく、ブラウザでのみ使用する必要があります。

+0

私はphonegap自体を使用していません。クライアントのアプリはWebアプリケーションであり、アンドロイドとアップルのストア用に配布可能にする必要があります。彼らのアプリはデバイスと全くやりとりする必要はありません。 PhoneGapを使用すると、HTMLアプリケーションを使用してネイティブアプリとして動作させることができ、アプリストアに配置できるようになります。 MVCがモバイルビューを作成できるときに、クライアント上にあるリソースとしてコードを書き直すのは意味がありません。だから問題はMVCアプリケーションを効果的に呼び出すことですか?チャイルドブラウザー? –

関連する問題