1. ホーム
  2. javascript

[解決済み] Backbone.jsとjQuery

2023-06-18 03:53:52

質問

Backboneは抽象度の高い処理を行い、jQueryなどのライブラリはDOMの処理、イベントの正規化などを行うそうですが、Backboneはどのような処理をしているのでしょうか?

どなたか、簡単な実例でこのステートメントを理解するのを助けていただけませんか。

また、BackboneやKnockoutのようなMVCフレームワークの重要な特徴の1つは、モデル(データ)とビューを同期して維持することです。しかし、これはページレベルで特定されているようで、アプリケーション全体ではありません。そこで、複数のページにわたってモデル/データとビューを同期させることができます...(一種のグローバル)

どのように解決するのですか?

Backbone / Knockoutは通常、単一ページのアプリケーションに使用されます。つまり、jQuery があらゆるウェブページで使用できるツールボックスであるのに対し、Backbone は特定のタイプのアプリケーションのためのもので、そのためにコードを整理するのに役立ちます。少なくとも私の経験では、シングル ページ アプリケーションを構築する際の最大の課題の 1 つは、コードをクリーンかつモジュール式に保つことであり、Backbone はこの点で大いに役に立ちます。

典型的なバックボーン アプリの特徴は、次のとおりです。

  • 基本的に静的な html ページであり、サーバー上で何も生成されません。
  • サーバーは json REST api として動作し、アプリのコンテンツを提供します。
  • データを表示するためのdom要素は、バックボーンビューのjavascriptで作成され、jQueryや様々なテンプレートライブラリを使って支援します。
  • サーバーとの通信、およびアプリの異なる部分間の通信は、バックボーンモデルを通じて行われます。

複数のページにわたってデータを同期させ続けるという質問について、私の直感的な答えは、複数のページは必要ないということです。ユーザーはページが変化していると認識するかもしれませんが、URL バーのアドレスは pushState 機能のおかげで変化しますが、技術的にはアプリ全体は 1 つのページです。

この種のアプローチの最大の利点は、スムーズなユーザー エクスペリエンス (ページの再読み込みなし)、json データ以外のすべてが静的コンテンツであるため優れたキャッシュ サポート、モバイル ターゲットでは phoneGap で Web アプリをモバイル アプリに変換する可能性 (json 以外のすべてが静的であるため)、です。