SPAサイトやフレームワークの経験者の人の意見を聞きたいです。
完全に SPA のサイトまで行かなくとも、 JavaScript で画面を書き換えることが多いページで URL にアクセスしたときに最初に表示する HTML はどこでつくるのが最も良い方法なのでしょうか?
選択肢はこの 3 つのどれかになるかと思います。
- サーバサイドのテンプレートエンジンなどをつかって HTML として作っておく
- JSON などを埋め込んでおいて onload などで JavaScript で構築する
- 埋め込みはしないでページ開いたときにデータを fetch してそのデータを使って構築する
1 つめは、JS が動かない環境でも見れますし、クライアント側での処理が少なく済むのがメリットに思います。
ですが、いまどき JS が動かない環境はほぼなくサポートする必要もないと言っていいくらいですし、 JS メインのページなので最初の状態だけ見れてもあまり意味がないと思います。
また、クライアント側の処理が少ないといっても最初のちょっとだけですし、アクセスが多くなることを考えるとサーバ側の処理を減らしたほうが良いように思います。
さらに、JS で画面遷移がある以上、初期の画面を作ることは JS 側で可能なはずです。
JS で作れる処理があるのに、おなじものをサーバ側でも作るのはムダに思いますし、デザイン変更があると修正が二度手間に思います。
これらのことから、HTMLを準備するのはメリットが薄く、 1つめの方法はあまり使いたいと思えません。
残り 2 つは、画面を作るためのデータをHTMLにJSONとして埋め込むかfetchして外部からデータを持ってくるかの違いです。
キャッシュなどの都合から別ファイルになっていたほうが良いように思うので 3 つめが一番いいのでは、というのが私の結論です。
(webpack で動的なデータもまとめられるなら 2 つめになるかも)
ですが、世の中のサイトではサーバから受け取るHTMLがすでに完成済みのものが多いように思います。
なぜこの方法をとっているのでしょうか?
JS を実行できない検索エンジンへのSEO対策でしょうか?
それとも、なんらかのフレームワークで作るとこうしたほうが楽になるような仕組みがあるのでしょうか?
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/03/05 15:52