0

サーバー側のレンダリングを使用するソーシャル Web サイトを作成しています。

たとえば、ユーザーが投稿を作成したときに、レンダリングされた投稿 (HTML) をサーバーから受け取りました。

HTML を Dom に追加します。

--

ここで問題が発生します。

サーバーですべてをレンダリングすることを選択すると、

「小さなもの」をどこにレンダリングすればよいですか?

たとえば、ユーザーが写真をアップロードする前に写真のプレビューを生成したい場合、

サイレント側でタグを作成する必要がありますか?

それをJavaScriptで修正し、

または、サーバーからプレビューをリクエストして、y Web サイトを「完全に」サーバー側でレンダリングしますか?

前者の方法を選択すると、Web サイトの管理が難しくなります (cilent-side render と server-side render のようなもので、テンプレートの管理が難しくなるため)

サーバーですべてのテンプレートを管理できるように、後者のソリューションを好みます。

しかし、それはインターネットの速度に依存し、ユーザーがオフラインになると何もできません。

私は何をすべきか?

4

2 に答える 2

2

さて、「小さなもの」をどこにレンダリングするかについてのあなたの質問には、漠然とした答えが返されると言えます。無害な質問のように思えるかもしれませんが、答えはより複雑な質問によって答えられます! IMO、サーバーが優れているという近視眼的な見方をすべてに適用するよりも、この質問をする方がはるかに優れています。

一般的に、私は各レンダリング タスクを、ユーザーによって劇的に異なる可能性があるいくつかの制約を通して表示します!! :

- origin of content (is the information coming from the client?)
- delivering content (network infrastructure)
- viewing content (client hardware)

それでは、具体的な質問に答えてみましょう。

たとえば、ユーザーが写真をアップロードする前に写真のプレビューを生成したい場合、cilent 側でタグを作成してから JavaScript で変更するか、サーバーからプレビューをリクエストして、Web サイトを「完全に」サーバー側にする必要があります。与える?

写真はサーバーから来ていますか?

はい: サーバー レンダー プレビューあり

No : クライアントにレンダリングさせる

このTwitterの記事の最初のビューの段落を読んだ後、そのコンテンツはサーバー上でレンダリングするのが最適であるという結論に達しました。しかし、さらに読むと、彼らはレンダリングをハイブリッド化していることがわかりました-一部のクライアントと一部のサーバー(複雑-あなたが言ったように!)。

しかし、その結論は、ユーザー数が 1 億人に達してから8 か月後になされました。そのため、実用的になり、複雑さを最小限に抑えてアプリケーションを構築できるレンダリング アプローチを選択してください。

于 2016-08-07T13:14:57.390 に答える
0

数か月後、Vue.js を使用した Cilent 側のレンダリングに固執することにしました (そして、すべてを書き直さなければなりません)。

理由は次のとおりです。

  1. テンプレートページの管理が容易になります。
  2. オフラインで使用するためにデータを保存するのに最適です(CSR はページ全体ではなくデータのみを取得するため)。
  3. レンダリング作業を分離することで、サーバーに費やすお金を減らすことができます。
  4. すべてが常にブラウザに出力されるためです
于 2016-09-24T09:15:03.177 に答える