最近、
「選択肢によってWebサイトの要素が切り替わり(この部分は、JavaScriptで制御)、次へボタンを押すと確認画面、確認画面で戻るボタンを押すと、元の画面だけれど、選択した状態=次へボタンを押す前の状態」
が表示されるWebサイトの、表示の作り方として、
- サーバーサイドで表示のHTMLを組み立てて、クライアント側はレンダリングのみという、サーバーサイドパターン
- サーバーサイドでは必要な要素は用意して、クライアント側でレンダリングとJavaScriptで表示を切り替える、クライアントパターン
の両方を実装しました。
メリット/デメリット
サバーサイドで表示のHTMLを組み立てた方が、表示が切り替わる様子(例:表示されている要素が非表示になる)は表示されないので、見て違和感を感じません。ただし、選択により切替をするためのJavaScriptのコードとは別に、サーバーサイド側のコードにも同様の部分が必要になり2度手間に感じます。
クライアントサイドで処理すると、コードはJavaScriptにまとまりますが、コードがやや複雑になりますし、表示された際のイベントでの処理にも対応しなければいけません。