特に軽量で簡単なフレームワークが多数存在する場合、iFrame の使用は最適ではないようです。
JqueryMobile には独自のルーターがあります。私はそれが好きではありませんでした-ハッシュタグを使用すると、必要なハッシュを持つページがDOMにある必要があります。もちろん、ページを動的にロードすることは可能ですが、とにかく新しいページを作成したり、ページ コンテナーに追加したりする必要があります。このようなページの操作方法は私には適しておらず、DOM をオーバーロードします。
また、JQM を使用すると、Jquery テンプレートを使用することができます。これらは、渡されたデータを使用して後で解析できるページまたは別の HTML コードを保存できます。これらのテンプレートと解析メカニズムは、非常にシンプルで使いやすいように思えました。ただし、複素数のデータを解析する必要がある場合は適していません。また、パーシャルはサポートされていません (ASP.NET MVC のように)。つまり、ヘッダーとフッターを 1 つのファイルだけに保存して、ページごとにパーシャルとして読み込むことはできません。各ページに複製する必要があります。
このフレームワークの残りの機能は素晴らしいです。多くのコントロール、テーマ設定など。UI 作成のリーダーであるように思われます - 疑いの余地はありません。唯一気に入らなかったのは、JQM ページ遷移です。
次にバックボーンについて。MVC パターンを使用してアプリを作成するための強力で簡単なフレームワークです。実際、実際の MVC を作成できる JS フレームワークはありません。しかし、基本は真実です。モデル、ビュー、およびコントローラー (ルーター)。新しいルートの簡単な作成、優れたドキュメント、および GitHub の多数のサンプル。ビューとモデルを操作する強力なメカニズム - サイトにはすべての機能が表示されます。
Backbone + JQM の使用を提案します。ただし、この場合、これらのフレームワーク間の競合を避けるために、ルーターの 1 つを無効にする必要があります。一人だけ残ればいい。
ページングについて。使用可能なすべてのページを DOM に格納する必要はありません。content 要素を含む JQM ページを 1 つだけ作成し、動的に更新できます。HTML をテンプレートに保存し、サービスからデータを取得し、テンプレートを解析し、コンテンツ要素を更新します。バックボーンには依存関係があります - アンダースコア。このため、一見、Backbone を使用したくなかったのです。しかし、アンダースコアは多くの便利な機能を備えた強力なフレームワークです。そしてそのうちの 1 つは、テンプレートです。解析のための強力な解析メカニズム - ループ、js 関数、テンプレート内の変数の作成などをサポートします。パーシャルもサポートしませんが、常に新しいページを作成する必要がないため、必要ありません。
アプリのページ数が少ないとき、すべての js ファイル (フレームワーク、ヘルパー、サービス呼び出し元、ビュー、モデルなど) を読み込み、アンダースコア テンプレートを HTML ページに保存しました。しかし、そのようなコードをサポートすることは恐ろしいことです。HTMLページが巨大化。RequireJS フレームワークはこの問題を解決できます。JS ファイルだけでなく、テキスト テンプレート (テキスト プラグインを使用) も読み込むことができます。この場合のすべてのコードはモジュラーになります。多くのサンプルで十分に文書化されているため、どのように機能するかを確認するのに問題はありません。ところで、Backbone の最新バージョンは公式には AMD をサポートしていません。ただし、RequireJS を使用してロードすることは可能です。
また、コンテンツのスクロールについても考えてください。それについては多くは書きません。iScroll フレームワークを見てください。
したがって、PhoneGap + バックボーン + JQM + RequireJS = 成功 :)