0

asp.net mvc の開発を始めて以来、私の経験はほぼ 80% が jQuery で、C# はわずか 20% です。

現在、Knockout.js を使用して、ページの表示をより適切に制御できるようにしています。

私が今直面している問題は、ブラウザーに「sceleton マークアップ ページ」をフィードし、ajax 呼び出しを介してすべてのデータをロードする必要があります。表示し、その後のクライアント エクスペリエンスのために js ページ データ管理を使用しますか?

現在、私は後者を行っていますが、これには 2 つのデータ取得/表示ロジックを記述する必要があります。1 つは js で、もう 1 つは mvc カミソリ ビューです。

js が無効になっているブラウザーをサポートする予定はないので、js ノックアウト ビュー モデルの初期化を介してすべてを行う必要がありますか?

4

2 に答える 2

1

多くの追加変数があります。

  1. 今後アプリで処理する必要のある 1 秒あたりのリクエスト数は? 多くの場合、完全なページ生成により、結果の Web ページをキャッシュして、サーバーの負荷を減らすことができます。
  2. どのようなクライアントがいますか? それらが遅い場合 (低価格の携帯電話など)、クライアントでの完全な HTML の生成は遅くなる可能性があります。
  3. クライアントは、低速のネットワークでの高速応答を高く評価していますか? 完全なサーバー ページ生成により、リクエストの数を減らし、応答を高速化できます。

反対に、ネットワークが良好で、要求数が少なく、クライアント コンピューターが優れた内部部門レベルのビジネス アプリである場合は、最初のページを最小限にして、すべてに AJAX を入力することができます。また、Arbiter さんが指摘したように、JSON は HTML よりもサイズを小さくできるため、大量のデータがある場合は、JSON 経由でネットワークに保存できます。

ミドルサードウェイもあります。JSON データを生成して、Web ページに直接埋め込むことができます ( など<script>CallMyJSGenerateMethod({generatedJSON: "goes here"})</script>)。この方法では、HTML 生成のための (JavaScript) プロシージャは 1 つだけで済み、リクエストの数は少なく (データ量はさらに少なくなります)、Web ページをキャッシュすることができます。それでも、良いクライアントが必要なので、ポイント 2 は有効です。

于 2012-07-15T14:54:36.777 に答える
1

これは意見にすぎませんが、私の推定では、Web アプリの構築に関して最もよく聞かれる質問です: サーバー上で HTML/MVC を使用してページを構築する必要がありますか、それともすべて JS を使用する必要がありますか? ここには、すべてのシナリオに適合する明確な正解はありません。どちらも素晴らしい選択です。ドミトリーの指摘もすべて有効です。

他に考慮すべきことは、サーバー上で ASP.NET を使い続ける必要があるかどうか、または他のサーバー技術 (PHP?) を使用するかどうかです。開発チームはどのようなスキルを持っていますか? 作成しているページはクライアント上で頻繁に変更されますか、それとも比較的静的ですか?

私は個人的にはサーバー側の生成ではなくクライアント空間に傾倒していますが、それは主に好みです。

于 2012-07-15T18:15:27.610 に答える