2

私は現在 Javascript テンプレートについて学んでおり、有益な質問があります。

サーバー (PHP など) で html 文字列を収集し、jQuery Ajax 呼び出しでそれを返すのではなく、サーバーからの json データを使用して JavaScript テンプレートを設定する利点は何ですか?

このテンプレート化はクライアント側で Javascript を使用して実行されるため、サーバー上でテンプレートを作成する方がはるかに高速ではないでしょうか (サーバーはクライアントよりも強力です)。

このクライアント側で行うことの実際の利点は何ですか?
私は現在、バックボーンを使用して SPA を開発する方法を学んでいるので、これに遭遇しました。これは、マリオネットと一緒に使用して必要とします。

ありがとう。

4

1 に答える 1

2

サーバーはクライアントよりも強力だとおっしゃいます。はい。ただし、ページを要求するクライアントが 1000 ある場合はどうなりますか? サーバーにとっては難しくなり、サーバー側のキャッシュ、負荷分散などを使用しようとします。したがって、クライアント側のテンプレート レンダリングにより、各クライアントは自分自身を気にすることができます。サーバーの負荷を大幅に軽減します。たとえば、HTML テンプレートと JavaScript コードを 1 回提供すると、ブラウザーはそれをキャッシュします。そのため、サーバーは現在のクライアントからの次のすべてのリクエストでこのようなものを送信することさえせず、REST アーキテクチャなどを介して実際のデータを提供および操作することのみを保証します。この方法では、主にデータのみを転送します。バックボーンおよびその他のクライアント側フレームワークにより、サーバーの負荷を軽減できます。各クライアントがページまたはページの一部をレンダリングすると、常に高速に動作します。

クライアント側レンダリングのJSON応答 (REST) :

[
    {"name": "Jimmy", "email": "jimmy@gmail.com"},
    {"name:" "Billy", "email": "billy@gmail.com"}
]

サーバーによってレンダリングされるHTML応答 (従来型) :

<table>
    <tr>
        <td>
            Jimmy
        </td>
        <td>
            jimmy@gmail.com
        </td>
    </tr>
    <tr>
        <td>
            Billy
        </td>
        <td>
            billy@gmail.com
        </td>
    </tr>
</table>

レンダリングするユーザーが 100 人いる場合は明らかに、サーバー側でレンダリングし、HTTP (CPU、RAM、帯域幅) 経由で転送する HTML がはるかに多くなります。

ただし、クライアント側のレンダリングの場合、ユーザーをループでレンダリングするには、テーブルのテンプレートと 1 つの (!) テーブル行のテンプレート (特定の例) だけが必要です。

したがって、サーバーはデータ、認証、承認のみを気にします。アプリケーションが配布されます。サーバーの負荷を軽減し、ブラウザが機密性の低い作業をすべて実行できるようにします。各クライアントは自分自身を気にします。

于 2013-11-29T14:06:15.610 に答える