✍️ Server Side Rendering VS AJAX
오늘은 AJAX 요청시 기존과는 다른 웹화면을 렌더링 해야 될 경우 해당 화면이 띄어지기 까지 걸리
는 시간 동안 다른 웹화면이 잠깐 보여질 수 있는데 이 부분을 SSR을 통해 사용자 경험을 향상시키
는 부분에 대해서 공부하였다.
요지는 AJAX로 웹화면에 보여주고자 하는 화면1과 AJAX Call 넣기 전 화면1이 보여지기까지 걸리
는 시간동안 보여지는 화면2가 다르고 또 특정 부분만 변경이 되어 그 짧은 시간동안 (화면2->화면1)
로 전환이 부자연스러울 때 SSR을 사용하는 것이다.
위를 해결하는 방법은 CSR(Client Side Rendering)을 통해 화면1을 받아오는데의 시간동안 SSR
(Server Side Rendering)이 먼저 화면2를 구성해 화면1과 동일하게 구성하는데에 있다.
화면을 맞추기 위해선 특정 api로 요청을 보낼 때 SSR 쪽에서 먼저 받아 템플릿에 나타내고자 하는
부분의 내용을 return해서 template내에 구성해주는 것이다. SSR이 템플릿을 먼저 구성하기 때문
에 AJAX CALL이 발생하더라도 화면상에 먼저 보이는 화면은 화면2이다.
그래서 SSR을 사용하면 AJAX 없이 SSR로 템플릿을 구성할 수 있다. 하지만 사용자경험을 크게 해치지
않는 다면 AJAX를 사용하는 것이 편하기 때문에 AJAX를 사용하는 것이 좋다. jinja template은
flask를 사용하는 경우에 한해 유용하고 또한 jinja template 언어를 사용해야 하기 때문에 해당
문법을 익혀야 하는 부분이 있기 때문이다.