最近、Web サーバーからすぐに表示できる HTML ページを生成するのではなく、クライアント側で完全に生成させて、Web アプリケーションの全体的なパフォーマンスを向上させる方法についていくつかのアイデアを思いつきました。このようにすると、純粋なデータ (私の場合は JSON 形式のデータ) のみをブラウザーに送信する必要があります。これにより、サーバーからクライアントのブラウザーへの html 生成の作業がオフロードされ、ユーザーに返される応答パケットのサイズが縮小されます。
いくつかの調査の後、このフレームワーク (http://beebole-apps.com/pure/) が私のものと同じことを行うことがわかりました。
私が知りたいのは、このようにすることの長所と短所です。ウェブサーバーにとっては確かに高速で優れており、最新のブラウザーでは Javascript コードを高速に実行できるため、ページ生成を高速に実行できます。
この方法のマイナス面は、おそらく SEO の場合です。Google などの検索エンジンが私のウェブサイトを適切にインデックスしてくれるかどうかわかりません。 この方法の欠点を教えてください。
Ps: 次のように、メソッドの説明に役立つサンプル コードも添付しました。
head では、単純な JavaScript コードは次のように記述されます。
<script type='javascript' src='html_generator.js'/>
<script>
function onPageLoad(){
htmlGenerate($('#data').val());
}
</script>
本体には、次のようにデータ コンテナーとしてのみ使用される要素が 1 つだけ存在します。
<input type='hidden' id='data' value='{"a": 1, "b": 2, "c": 3}'/>
ブラウザがファイルをレンダリングすると、html_generator.js にある htmlGenerate 関数が呼び出され、この関数で html ページ全体が生成されます。html_generator.js ファイルには多数の html テンプレートが含まれているためサイズが大きくなる可能性がありますが、ブラウザーにキャッシュできるため、一度だけダウンロードされることに注意してください。