Next.js에서 page router에 비해app router에서 개선된 점
- 레이아웃이 추가 되었다.
- 페이지간 이동이 쉽다? 원하는 부분만 렌더링이 된다.
- 서버 컴포넌트로 사용자 경험을 높일 수 있다.
CSR과 SSR의 차이점
- CSR은 클라이언트 사이드 렌더링의 약자
- 클라이언트쪽에서 렌더링이 되기 때문에 데이터를 서버에 전달하면 받아올 때 클라이언트 쪽에 부분적으로 렌더링?
- SSR은 서버 사이드 렌더링의 약자
- 서버쪽에서 데이터(?)를 한 번에 가져오기 때문에 HTML, JS 파일을 받아서 SEO에 최적화되어 있다.
Single Page Application(SPA)과 Multi Page Application(MPA)의 차이점
- SPA
- 부분적으로 렌더링이 가능하기 때문에 페이지의 새로고침없이 렌더링이 이루어짐 → 성능 향상이 가능하다.
- MPA
- 페이지마다 새로고침이 된다. 불필요한 렌더링 → 성능이 안좋다?
- 최적화에 영향을 미칠 수 있다.
- SSR ⇒ MPA로
Redux와 같은 전역 상태 관리 라이브러리를 사용하는 이유
- 리액트 → 단방향 데이터 흐름 → 상태 관리 시 다른 컴포넌트에서 상태값이 필요하면 Props를 너무 많이 내려줘야한다 (props drilling)
- 원하는 컴포넌트에서 상태값을 가져오면서 효율적으로 관리하기 위해 전역 상태 관리를 해야할 필요성이 있어서 전역 상태 라이브러리를 사용한다.
SEO는 무엇이고 SEO를 중요하게 생각하는 이유
- 검색 엔진 최적화를 의미한다.
- 사이트를 홍보할 때 비즈니스적으로 도움이 된다.
- 비용을 들인 것 보다 효율적으로 사이트를 노출시킬 수 있다.