あなたは 2 つの質問をしましたが、私は最初の質問に答えます。AJAX は、従来のサーバー側のビューの役割を置き換えることができますか?
MVC Web フレームワークでは、ビューはコントローラーから渡されたデータを HTML に変換するためのテンプレートですが、クライアント側のテンプレート言語は非常に人気があり、サーバーで HTML 出力をレンダリングするための完全に合理的な代替手段であり、明確な利点があります。 .
まず、HTML ペイロード全体をクライアント ブラウザーに送信するのではなく、コンテンツのみを送信するため、帯域幅を大幅に節約できます。HTML クライアント側を生成すると、データ (JSON や XML など) のみをクライアントに送信できます。サーバー側のビューには、JavaScript テンプレートとコンテンツ ペイロードを指すスクリプト タグが含まれているだけです。
第 2 に、これらの JavaScript テンプレートは CDN から提供できるため、これらのネットワークの速度とページ間のキャッシュの恩恵を受けることができるため、ユーザーは特定のページに固有のテンプレートとデータのみをダウンロードする可能性があります。
ただし、いくつかの回避策はありますが、SEO などのいくつかの欠点があります。1 つのオプションとして、サーバー サイド ビューを使用してページの SEO フレンドリー バージョンをクローラーに提供するか、Node.js または Rhino を使用してテンプレートをサーバー サイドで単純にレンダリングします。JavaScript にコンパイルされた言語でテンプレートを作成することの利点は、サーバーとブラウザーの両方でテンプレートを実行できることです。これは、他のどの言語でも言えることではありません。