検索

ホームページ  >  に質問  >  本文

JavaScript - フロントエンド レンダリングとは何ですか?サーバーサイドレンダリングとは何ですか? 2 つの違いとそのアプリケーション シナリオは何ですか?

今は、フレームワークを使用してフロントエンドで SPA を作成し、バックグラウンドでデータベース関連のデータを処理し、その前後でデータを RESTful API に渡すだけですが、これらのレンダリングについてはわかりません。
いわゆるサーバーサイドレンダリングとは、バックグラウンドで HTML ファイルを生成し、それをフロントエンドに渡すことを指します。仮想 DOM を導入する React や Vue はどうですか?
フロントエンド レンダリングとは、HTML を解析して DOM ツリーを生成し、ページを描画することを意味しますか?
フロントエンド レンダリングとクライアントサイド レンダリングは同じ意味ですよね?
フロントエンド レンダリングとサーバーサイド レンダリングのアプリケーション シナリオは何ですか?

黄舟黄舟2784日前770

全員に返信(3)返信します

  • 黄舟

    黄舟2017-05-16 13:32:33

    いくつかの言葉で明確に説明するのは難しいですが、以下のリンクを参照してください:
    フロントエンド レンダリングとバックエンド レンダリング
    バックエンド レンダリング HTML、フロントエンド テンプレート レンダリング HTML、および jquery の違いは何ですかhtml?
    フロントエンド レンダリングとバックエンド レンダリングの間の議論に関する集中的な読書

    返事
    0
  • ringa_lee

    ringa_lee2017-05-16 13:32:33

    最初のレンダリングでは、データテンプレートをHTMLにアセンブルするだけです。

    フロントエンドとバックエンドの分離と SPA の場合、クリティカル パスでの認証によるリクエストのリダイレクトに加えて、バックエンドの一般的なルーティング ロジックがフロントエンドとフロントエンドで共有されます。処理ロジックの一部もフロントエンドとバックエンドで共有されます。エンドはデータ インターフェイスを提供し、インターフェイスに関連するデータ処理ロジックはバックエンドに固有です。

    SPA シナリオの場合
    サーバー側レンダリングは最初の get リクエスト用であり、ブラウザーに完全な HTML を生成するために使用され、ブラウザーは最初の画面を直接表示します。
    クライアント側のレンダリングは、クライアントの状態の変更、データのリクエスト、ローカル DOM の変更 (ローカル領域は本体全体と同じくらい大きい場合があります) に関するものです。
    react/vue このシナリオでは、サーバーは jsx/template を html に変換するだけで、クライアントは props/state の変更に従って仮想 dom と実際の dom の間の同期を調整します。

    従来のフロントエンドとバックエンドの分離シナリオでは、
    バックエンドは完全な HTML のレンダリングを担当し、フロントエンド JS は対話後のいくつかのテキスト アニメーションなどの変更を担当します。フロントエンドのレンダリングはありません。

    レビュー:

    1. 仮想 dom はフロントエンドにのみ存在し、仮想 dom と現実の dom の違いを調整し、現実の dom への更新を最小限に抑えるために使用されます。

    2. フロントエンドレンダリングとは、データとテンプレートを解析し、DOMを生成することを指します。バックエンドと同じです。

    3. はい、Web シナリオでも同じ意味です。

    4. フロントエンドレンダリング: 小さな変更があるたびにサーバーに dom シーン全体を再生成するように要求したくありません。サーバー側のレンダリング: ほとんどのシナリオで、極端なシナリオはクライアント側で js が無効になっている場合です。フロントエンド レンダリングのみが使用されるシナリオの場合、会社の構造上、react/vue によるレンダリングが許可されていないと推定されます (ノード サーバーはまだデプロイされていません)。通常、フロントエンドとバックエンドの両方のレンダリングが存在します。

    返事
    0
  • 某草草

    某草草2017-05-16 13:32:33

    IT 業界の悪い習慣は、具体的な詳細が分からないように派手な用語を作成することです:

    バックエンド レンダリング: バックエンド プログラムは、HTML ページをフロントエンドに吐き出す前に、まず HTML ページ上の特定の領域と特定のシンボルにデータを埋めてから、それをフロントエンドにスローします。バックエンド レンダリング。いわゆるレンダリングです。レンダリングという言葉はもともとゲームの分野から来ており、ゲームの分野は単に紙に絵の具を塗ることを起源としています。 。以前は、ほとんどのサーバーがこのモードでした

    フロントエンドのレンダリング: バックエンドの HTML ページは静的ファイルとして存在し、フロントエンドがそれを要求すると、バックエンドはファイルにコンテンツの変更を加えず、それをフロントエンドに直接返します。フロントエンドがページを取得した後、HTML ページに記述されたコンテンツに従ってレンダリングし、HTML のコンテンツを変更 (ペイント) します。これはフロントエンドレンダリングです

    返事
    0
  • キャンセル返事