ASP.NET MVC と jQuery を使用して作成したサイトがあります。iphone/android アプリを作成するために phonegap で使用できるように、あまり手直しせずに既存のプロジェクトを変更することは可能ですか?
5 に答える
アプローチは次のとおりです。ロジックを MVC WebAPI (または他の REST/Web サービス) プロジェクトに移動してから、MVC サイトを単純な html/javascript/css/image サイト (モバイル サイト) に変換します。次に、モバイル サイトをリファクタリングして、Ajax/JS を使用して、作成した WebAPI/Rest サービスにクエリを実行します。この方法でコードを分離したら、Mobile サイトを Phonegap でパッケージ化できます。あなたやあなたのプロジェクトにとってどれだけの作業が必要になるかはわかりません. ビューで多数の Html ヘルパーまたは Razor マークアップを使用している場合は、複雑すぎる可能性があります。
ここでの私の提案の要点は、モバイル UI レイヤーとバックエンド処理レイヤーを分離して、Phonegap を使用して Html5/UI/Javascript レイヤーのみをパッケージ化し、バックエンド処理を Web サーバーに残すことができるようにすることです。これについて説明する必要はないと思いますが、Phonegap でパッケージ化されたアプリでは、モバイル デバイスでビューをレンダリングしたり、コントローラーを実行したりするために MVC/.Net フレームワークを使用できないことは明らかです。UI をシンプルに移行することによってHtml5 および Javascript バックエンドに対して Ajax/Jquery/Javascript 呼び出しを使用できます。これは、おそらく ASP.Net MVC WebAPI でホストする必要があります。
編集:私の提案について混乱があったと思います。これが唯一の方法だと言っているわけではありませんが、これは私たちのチームがデスクトップ/ウェブ + モバイル + phonegap + mvc4 + webapi + kendoui アプリケーションを構築する方法であるため、私がよく知っているものです。このパターンは私たちにとってうまく機能するので、おそらくあなたにもうまくいくでしょう。少なくとも、ソリューションを構築する方法についていくつかのアイデアを得ることができます. 幸運を!
よくわかりませんが、ASP.NET を正しくコンパイルするにはサーバーが必要ですか? だから私はそれがあなたのために働くとは思わない. Phonegap は index.html ファイルを必要とするため、AJAX を使用して ASP.NET の作業を行い、ASP.NET コードと HTML-jQuery を分離する必要があると思います。ASP.NET ファイルをサーバーに保存するのは難しい
jquery mobile は学習と設計には優れていますが、電話ギャップが発生する Web ブラウザー コントロールでは遅いです。
これには、より軽量なフレームワークが必要です。
レスポンシブの場合は inappbrowser コントロールを使用してサイトを表示できますが、デバイスのカメラや連絡先などはありません...
見てみましょう: http://docs.phonegap.com/en/3.0.0/cordova_inappbrowser_inappbrowser.md.html#InAppBrowser
あなたの質問に対する答えは、変換しようとしているサイトの種類によって異なります。HTML にネイティブ フレームワークを配置して、アプリをアプリ ストアに入れようとしているだけですか?
本質的にほとんどまたは完全に情報提供を目的としており、MVC を使用してパンフレットのようなページを作成したことがある場合は、かなり簡単に移動できるはずです。これは、ページ間のナビゲーション以外のロジックがほとんどまたはまったくないことを前提としています。
代わりに、サイトがバックエンド サーバーに依存する大量のデータをプッシュする場合は、再構築してデータをローカルに保存するか、マニフェストを介してプリフェッチする必要があります。次に、ローカル データをサーバーにプッシュできるようにする戦略を実装する必要があります。
アプリは切断された状態で実行する必要がありますか?
Phonegap は、複数のモバイル プラットフォームをターゲットにしたい場合のオプションの 1 つであり、最も広く使用されている可能性があります。あなたは jQuery を使用しているので、jQueryMobile は使用する学習曲線が最も少ないパスになります。労力は主にフロントエンド UI にあり、Web UI に既にある機能のサブセットまたは完全なセットを提供するために設計する画面の数によって異なります。ほとんどの場合、ここに記載されている jquery-mobile UI ウィジェットを使用して画面を再設計する必要があります。また、ナビゲーション付きの初期画面デザインを顧客に示すのにも適しています。