2011-11-08 14 views
13

現在、jQuery Mobileフレームワークを使用してphonegapでゲームを構築しています。私が終わったのは、1つのhtmlといくつかのjsクラスのスパゲティコードがたくさんあることです。PhoneGapの構造化jQuery Mobileアプリケーション

私は、MVCパターンに従った構造化jQueryモバイルアプリケーションを作成するための良いガイドがあるかどうかを知りたいと考えました。

Sencha TouchでMVCアプリケーションを作成するためのgood guideが見つかりました。私はjQuery Mobileと同様のものを探していました。

答えて

19

私はかなり大規模なアプリケーションを持っており、これは、私はそれが

を構造化持っているかであります
css 
    -- all css files 
images 
    -- all image files 
js 
    controller.js -- page events and element actions. Also contains PhoneGap specific methods 
    core 
     forms.js -- working with forms, saving info 
     mobile.js -- basic definitions, AJAX communications 
     encrypt.js -- encryption 
     global.js -- helper functions 
     storage.js -- database storage wrapper 
    cw 
     client.js -- a client object, > 400 lines of js code 
     Objects.js -- all other needed objects with <50 lines of js code each 
     question.js -- a question object, > 500 lines of js code 
     service.js -- a service object, > 700 lines of js code 
    jq 
     jquery-ui.min.js 
     jquery.min.js 
     jquery.mobile.min.js 
     phonegap-1.1.0.js 

add_client.html 
clients.html 
client_list.html 
index.html   -- the only file that is structured like a real full html file 
manager.html 
schedule.html 
service.html 

私のindex.htmlファイルを除いて、他のすべての.htmlファイルsはスタブです。それらは<div data-role='page'></div>と、ページとその意図された機能を定義する他の必要なhtml要素だけを含んでいます。

私は、デバッガとしてChromeを使用してVS2010でアプリケーションを開発します。私の進歩に気分がいいときは、xcodeプロジェクト(iOSデバイス用)のリンクされたリファレンスでもある、Eclipseプロジェクト(Androidデバイス用)のフォルダにMacのすべてをコピーします。

私はこのプロジェクトを約3〜4ヶ月間続けています。そして、今度はjQMとPhoneGapの学習曲線を乗り越えて、この構造で非常に進歩しています。

+0

また、私は、このアプリケーションを1ページに構築することを計画したことがないことを言及します。これは、簡単に操作でき、小さなファイルに分割されているかどうかを把握することができたからです。私はもともと個々のオブジェクト(〜18個のオブジェクト)ごとに別々の.jsファイルを持っていましたが、ファイルを結合したときにメモリ使用率の増加が見つかりました(とにかくクロム)。 – Sage

+0

私はほとんど同じ構造を使用して、それは本当に素晴らしい作品です。しかし、一度私はコメントを読んで: "各ページは、それが自分自身のために働くはずです、いつかは間違いなく直接呼び出されるので"。だから、私のすべてのページは完全なHTMLページです。 – JNM

+0

あなたのページのパーシャルはどのように扱いますか?すべてのページに表示するヘッダー/フッターが同じである場合があります。 1つの完全なHTMLページを保持し、標準のjQueryモバイル関数を持つajaxを介して他のすべてのコンテンツを動的に含めることは可能ですか? –

3

あなたはwikiのエントリを見ましたか?

http://wiki.phonegap.com/w/page/36868306/UI%20Development%20using%20jQueryMobile#GettingstartedwithJQueryMobile

といくつかのコードを参照するには、jQueryのモバイルとPhoneGapの を使用して

サンプルアプリケーション@見てhttp://coenraets.org/blog/2011/10/sample-application-with-jquery-mobile-and-phonegap/

+0

ええ私はそれらの両方を経験しており、jQuery Mobileを使い始めるには良いガイドです。しかし、アプリケーションが非常に複雑な場合、アプリケーション全体を単一のhtmlとjsで記述するのは良い選択肢ではないようです。私はもっ​​と構造化されたアプリケーションを書く方法を知りたいと思っていました。つまり、モデル(データ付き)とビュー(DOMを変更する)としてJavascriptを分割することです。 – Nithin

+0

@Nithin:Durandalなどのフレームワークは、大規模なサイトの組織化に役立ちます。これは、構図(ビューの論理ビットの集合など)を使用できるようにすることで行います。つまり、クライアントサイドのフォルダ構造のようなmvcを持ち、物事を管理しやすくすることができます。 –

関連する問題