最近、クライアントとサーバーのレンダリング全体に関する非常に興味深い記事を読んでいます。
http://www.onebigfluke.com/2015/01/experimentally-verified-why-client-side.html
http://www.quirksmode.org/blog/archives/2015/01/angular_and_tem.html
http://tomdale.net/2015/02/youre-missing-the-point-of-server-side-rendered-javascript-apps/
クライアント側に関しては、私は少しファンボーイでしたが、これらの記事を読んだ後、驚いたことに、サーバー側のレンダリングを支持するいくつかのポイントが現れ始めました...主なポイントは次のとおりです。
1)サーバーはアップグレードできますが、ユーザーのデバイスはアップグレードできません-つまり、サーバーを制御しているため、パフォーマンスが低下している場合は、アップグレード/スケーリングを選択できます. ユーザーにデバイスのアップグレードを強制することはできません。
2)最初のペイントと最後のペイント-
experimentally verified...
上記のリンクでは、ユーザーが最初にページを表示したとき (最初のペイント) と、ユーザーがページを 100% 使用する可能性があるとき (最後のペイント) を示しています。ユーザーがページを見たときに考えられることから、脳が視覚野から前頭皮質、そしてユーザーが実際に指をクリックし始める運動前皮質への信号を処理するのに時間がかかります。もちろん、html が最初にレンダリングされる場合は、バックグラウンドで読み込みが行われている間に脳が処理するもの (js ファイル、バインディングなど) があります。
本当に気になったのは、クライアント側のレンダリングに最大 10 秒の読み込み時間がかかると Twitter が報告したことでした。誰もそれを経験するべきではありません! それは、「十分なデバイスをお持ちでない場合は、申し訳ありませんが、お待ちいただくだけです」と言っているようなものです。
クライアント側とサーバー側の両方のテンプレート エンジンを使用し、クライアントとサーバーの両方で同じテンプレート エンジンとコードを使用する良い方法はありませんか。その場合、レンダリングされたページをクライアントに提供することが恩人であるか、クライアントに自分でレンダリングさせるかを判断するだけです。
いずれにせよ、必要に応じて、私のことわざや記事についての考えを共有してください. ぜひ聞きたいです!