2012-08-29 9 views
7

私がやっていることは、PhoneGapとBackbone.jsに簡単なアプリケーションを構築することです。このアプリにはログインページがあり、ログインが成功すると、いくつかのオプションがある簡単なメニューにユーザーが送信されます。ユーザーは、保存されたリストを表示したり、アイテムのリストを表示したり、情報ページを表示したりすることができます。私はすべてのビューとモデルをどのように構造化したいのか知っていますので、私が持っている質問は、複数のページを使用する場合と比べて、1ページでこれをすべて行うことには欠点があるかどうかです。Backbone.jsとPhoneGap、シングルまたはマルチページ?

小さな部分にそれを打破するには、次の

  1. が1ページにすべてのjavascriptをロードしていパフォーマンスに重大な意味を持っていますか?
  2. 新しいビューに切り替えるときに、ルータが.remove()および.unbind()を閉じると、現在のビューはすべてメモリの問題を引き起こしますか?

答えて

6

バックボーンは、SPAアプリケーション向けに設計されています。私はバックボーンを複数のページにわたって張ることはできないと言っているわけではありませんが、私の意見では複雑さが増しています。あなたの説明から、私はあなたのアプリケーションをSPAとして保管します。

第2に、モジュールを使用してアプリケーションをビルドします。 require.jsなどのライブラリを使用します。私は十分にそれを推薦できませんでした。 here(私は本全体を読むことをお勧めします)を読むことができるので、なぜあなたはそれを使うべきかについて、あまり詳しく説明しません。アプリケーションのデプロイメントが完了したら、r.js、require.jsのビルドスクリプトを使用できます。これにより、モジュールのすべてまたはいくつかが1つのファイルに連結されます。これにより、特にモジュールがたくさんある場合は、アプリのパフォーマンスが大幅に向上します。

最後に、メモリの最適化に関しては、Derick Baileyによって開発された方法を使用しています。これについてはhereをお読みください。

これが役に立ちます。

+2

彼は単純なアプリだと言って、require.jsを使用する理由が十分ではない – Andy

+1

あなたの意見はかなり主観的だと思います。 Jdeerはパフォーマンスを心配しているので、require.jsは "さまざまなページ"を1つのファイルに連結することを非常に簡単にします。私は経験から教えてくれます。モジュールルートを使うことは、特にあなたのアプリを増やす予定がある場合には、妨げになるよりも多くのメリットがあります。私はあなたの意見がダウンフォワードを保証するとは思わない。私の答えが間違っていると思われる場合は、是非、別の解決策を提供してください。 – TYRONEMICHAEL

+1

このトピックで議論しているパフォーマンスの問題は、要求と応答に関するものであり、初期のコンテンツ読み込みではありません。アプリはシンプルなアプリなので、テンプレート作成のために複数のページを持つ必要はなく、スクリプトの数は最小限に抑えられます。何かを使用しても、それを使用する必要はありません。私はあなたの答えが間違っているとは言わなかった、私はちょうどrequire.jsが間違って言及部分を言っています。そして、あなたが誤解されたように人々を誤解させます。 – Andy

関連する問題