6

私はすべてのサーバー側ロジックに .NET MVC を使用し、最初のページを提供していますが、私のアプリケーションはクライアント側で非常に重いので、非常に便利であることが証明されている Backbone.JS を採用しました。

ただし、両方のテクノロジーを組み込むためにシステムを設計する方法がわかりません。私の見方では、2つの選択肢があります

  1. サーバー側の MVC から「V」を削除し、ページロード時に JSON データをクライアントに返し、バックボーン クライアント側テンプレートを使用してベース JSON/バックボーン モデルから GUI を構築します。

  2. .NET MVC で完全にレンダリングされたサーバーから初期ページを返します。それらをレンダリングするために使用されたデータも返し、 collection.reset({silent: true})メソッドを呼び出して、返されたデータをビューにリンクします。これにより、後でビューで追加/削除/変更ハンドラーを使用して変更を加えることができると考えるのは正しいですか?

1 サーバーサイド MVC の一部を手放すことを恐れているため、私は悩まされています。

2 クライアント サーバーで 2 つの異なるレンダリング方法を使用することで、リスクが発生し、機能する可能性があるのではないかと心配しています。

サーバー側の MVC を backbone.js 1 または 2 またはその他の方法と組み合わせる正しい方法は何ですか?

4

2 に答える 2

4
  1. あなたは実際に を破棄しているのではなく、そのV表現を HTML から JSON に変更しているだけです。サーバー側のものに慣れてきたので困っていますが、それは実際には有効な懸念事項ではありません...必要なことを完了し、Javascriptパターンを学習/作成します。

  2. これは 1 つの方法であり、JavaScript を無効にするフォールバックが必要な場合や、アクセシビリティ ガイドラインに拘束されている場合に非常に役立ちます。欠けている部分は、モデルを DOM 要素にアタッチするためにページがロードされたら、ページを再レンダリングする必要があることです。別の方法として、このマッピングを処理するツールを使用することもできますが、複雑さが増し、自分で検討する必要があります。

バックボーンの Careers の使用法では、javascript を使用しないシナリオをサポートする必要はありません。そのため、最初のロードでテンプレートと js をロードし、ルーターに引き継がせて、最初のアイデアに似たものを使用します。始めたばかりのように聞こえるかもしれませんが、私たちが本当に動き出すのに最も役立ったのは、モデルに変更を加えてから、ビューをモデル変更イベントにサブスクライブさせるがはるかに簡単であることに気付いたことです (その逆ではありません)。 .

于 2012-04-17T13:53:57.470 に答える
1

受け入れられた方法が何であるかはわかりませんが、サーバー側から V を組み合わせてからバックボーン (など) を織り込むのは問題があることがわかりました。非常に制御された状況ではうまくいく可能性がありますが、アプリがクライアント側で非常に重いので、サーバー側でのレンダリングを忘れてJSONを返し、バックボーンが何らかのテンプレート(ムスタッシュなど)を介してコンテンツのレンダリングを処理するようにすることをお勧めします。

はい、バックボーン イベントを完全に制御できるので、必要なことを実行するためのハンドルを取得できます。

サーバー側のスキル セットの一部をあきらめていると聞きました。私も同じでしたが、これがあなたのプロジェクトで求められているものであれば、サーバー側のレンダリングに任せた方が簡単だと思います。

幸運を!

于 2012-04-17T13:54:44.453 に答える