現在、[〜#〜] spa [〜#〜](シングルページアプリケーション)と[〜#〜] mpa [〜#〜](マルチページ)のメリットとデメリットを調査しています。アプリケーション)。 [〜#〜] mpa [〜#〜]が私のプロジェクトにより適していることを確認したので、サーバー側レンダリングとクライアント側レンダリングの説明に進みました。しかし、それをしていると、多くの利点、引数などが[〜#〜] spa [〜#〜] vs [〜#〜] mpa [〜#の引数と重複していることに気付きました〜]。私の結論は、[〜#〜] mpa [〜#〜]では純粋なクライアント側のレンダリングは不可能であるため、サーバー側のレンダリングをクライアント側と組み合わせて進める必要があります(小さなピースを更新するため)情報の)。私の結論は正しいですか?
[〜#〜] spa [〜#〜] vs [〜#〜] mpa [〜#〜]について話した後、レンダリングについて話すとき、私は自分自身を繰り返すように感じるからです。現在、[〜#〜] spa [〜#〜] vs [〜#〜] mpa [〜#〜]の概念と、クライアント側とサーバー側の概念は、私。
SPAとMPAの主な違いは、単一ページのアプリケーションでは、すべてのリクエストが単一のHTMLページのライフサイクル内で発生することです。異なるビューを表示できる場合があります。アプリケーションのさまざまな「ページ」を表示しますが、すべてのレンダリングは単一のHTML Webページ内で行われます。これには、「アプリケーション」の状態をすべて1つのスコープに維持できるという利点があります。messenger.comのようなアプリケーションを考えてみてください。可動部分はまだたくさんありますが、実際にページを離れる必要はありません。
対照的に、MPAでは、ユーザーは複数の異なるHTMLページにアクセスします。新しいHTMLページが読み込まれると、すべてのスクリプトが再実行され、セッションまたはローカルストレージに状態を保持する必要があります。これは、stackoverflow.comのモデルに似ています。
すべてのレンダリングとロジックをJavascriptで行い、APIオペレーションのバックエンドにのみ到達する純粋なクライアント側アプリを作成できます。すべてのHTMLとコンテンツがWebブラウザーによってダウンロードされる前にサーバーに事前レンダリングされる純粋なサーバー側アプリ(PHPで最も一般的だと思います)を使用することもできます。
ただし、クライアント側のレンダリングとサーバー側のレンダリングは一般的に混在しています。たとえば、stackoverflow.comは、質問と回答を含むWebページをサーバー側でレンダリングして送信します。クライアント側のレンダリングは、AJAXの賛成/反対投票、新しいコメントの追加、ブラウザでの質問に対する回答のプレビューに使用されます。
これがお役に立てば幸いです。概念は似ており、互いに混合することさえできるのは正しいです。