EUNBI'S PORTFOLIO
HOME
ABOUT
PROJECTS
DATA
SSR & CSR
Published on
February 01, 2023
by
Eunbi.N
CSR
React
Next.js
PWA
Pre-onBoarding challenge
→
Git-Hub
SSR
서버로부터 모든 데이터가 HTML에 렌더링된 화면으로 브라우저에 전달
초기 구동 속도가 빠름
JavaScript 로직이 모두 연결될때까지 view - interaction 간의 시간차 발생
서버에 부하 발생 가능성
HTML파일만 크롤링하는 검색엔진최적화(SEO)에 유리
CSR
JavaScript 파일들을 다운로드하고 DOM 생성
초기 로딩속도가 느리다는 단점
이후 페이지 변경시점부터는 서버에 데이터만 요청하면 되므로,
동적 구동속도는 빠름
서버는 빈 껍데기 HTML를 넘겨주는 역할만 수행하므로 부하가 적음
클라이언트측에서 연산과 라우팅을 처리하는 역할
빠르고 화면깜빡임이 없는 UX측면에서 유리
React와 Next.js 어떤 상황에서 각각을 선택해야 하나요?
React
CSR 구현방식일때 선택하는 하나의 방법으로, 클라이언트가 브라우저에서 페이지를 만들기 때문에,
화면 컴포넌트가 많거나 복잡해도 UI를 쉽고 빠르게 만들어내는 데 효율적입니다.
Next.js
CSR이 SEO에 불리하다는 비즈니스상의 큰 단점을 보완하기 위해,
SSR으로 구현시키고자 할때 사용하는 리액트 프레임워크입니다.
Code splitting 을 통해 초기 로드시 필요한 최소한의 코드만 다운로드할 수 있기때문에,
SSR 의 초기구동속도가 느리다는 단점도 보완합니다.
PWA를 구현할 때 Service Worker의 역할은 무엇인가요?
Service Worker는 브라우저-웹서버 사이의 가상 프록시로,
오프라인에서의 요청과 응답을 처리가능하게 하는 미들웨어 역할을 수행합니다.
SSR, CSR, SPA, PWA, Electron등 다양한 전략이 있는데, 각 전략들은 어떤 상황에 사용되는 것이 적합하며 비즈니스에 어떤 이점을 가져다줄까요?
SSR
웹사이트 검색엔진 노출 등의 비즈니스 전략, 서버 역할을 보다 더 부여하고자 할때 적합
CSR
화면 컴포넌트가 많고, 깜빡임 없이 부드럽게 이동, 초기 빠른 속도 필요시 적합
SPA
CSR 방식으로 개발할 때, 전체페이지를 하나의 화면에 담아 동적으로 렌더링, 빠른 interaction 필요시 적합
PWA
웹과 네이티브 앱의 기능을 모두 갖춘 형태로, 웹에서도 데이터를 캐싱하여 앱처럼 사용가능하도록 할 때 적합
Electron
웹개발한 소스를 데스크탑 환경에서 애플리케이션처럼 사용할 수 있게 할 때 적합