2013-05-13 9 views
6

レンダリングの意味は、ウェブ開発の文脈では分かりません。ブラウザーのアーキテクチャについて読んだとき、レンダリングはインターネットからフェッチされたコンテンツを表示するためのものです。一方、のクライアントとサーバーのレンダリングの定義があります(ブラウザは記載されていません)。たとえば、Backbone.Viewクラスでは、レンダリングマークアップを使用してデータを接続する方法があります。ウェブ開発の文脈でのレンダリング

ウェブ開発の文脈の外では、Wikiの定義があります:

レンダリング(総称してシーンファイルと呼ばれることができるもの、あるいは モデル)モデルから画像を生成するプロセスである、ことにより、コンピュータプログラムの手段。また、そのようなモデルの結果をレンダリングと呼ぶこともできます。

この概念を正しく理解するにはどうすればよいですか?

ありがとうございました。

答えて

6

レンダリングは、データがある場合はそれを収集し、関連するテンプレートをロードする(または出力を直接送信する)プロセスです。その後、収集したデータを関連するテンプレートに適用します。最終出力はユーザーに送信されます。

この概念は、クライアントとサーバーの両方で全く同じです。クライアントでは、Backbone.Viewを使用する場合、renderメソッドは、レンダリングロジックを配置できる従来のメソッドによく似ています。あなたはそれをdrawと呼ぶことができます。それはまったく問題ありません。 Backbone.Viewの主なコンセプトは、あなたがどこからでもデータを取得して(ほとんどはthis.model)、関連するテンプレートをロードすることです($( '#template-id').html()を使ってDOMから、またはrequirejsはAJAXリクエストを使用してテンプレートを読み込みます)。データとテンプレートを取得したら、独自のテンプレートエンジンを使用して、最終出力を「作成」してDOMに追加して、ユーザーに表示させることができます。

サーバはおそらく同じことを行い、ブラウザが「レンダリング」できるように最終出力を戻します。しかし、若干の違いがあります。クライアント側では、ajaxリクエストまたはDOMからテンプレートをロードします。サーバー側では、おそらくハードドライブからテンプレートをロードします。データに関しては、クライアント側では、ajaxリクエストを使用してデータを取得するか、またはデータがインラインJavaScriptオブジェクトによってサーバーによって応答に埋め込まれています。サーバー側では、データベース(またはキャッシュ)またはサードパーティのサービスからデータを取得します。

+0

レンダリングの1つの側面(レンダリングが行われている場所)について言えば、これは良い答えです。読んだ後、私はHTMLをテンプレート言語の一種として考えています。これはブラウザに埋め込まれています。 – carousel

関連する問題