SPA란? (single page application)
하나의 페이지로 만들어진 어플리케이션을 의미합니다.
전통적 웹 어플리케이션 vs SPA

- SPA는 html파일을 브라우저 측에서 로드하고, 필요한 데이터는 API와 ajax통신을 이용해서 처리합니다.
- 브라우저에서 사용자가 상호작용 하면 필요한 부분만 업데이트 해서 처리합니다.
- 멀티플랫폼 Android, IOS에 대응하여 웹뷰로 처리하는 목적으로도 사용됩니다.
SPA의 단점 (CSR방식)
- 앱의 규모가 커지면, JS파일도 너무 커져서 로딩이 오래걸리게 됩니다.
- 브라우저에서
렌더링이 완료
되기 까지 비어있는 화면이 나오게 됩니다.
- 그래서 규모가 큰 어플리케이션은 SSR(서버사이드 렌더링) 방식으로 처리합니다. (웹팩 설정 필요)
라우팅이란?
- 브라우저의 주소상태에 따라 다양한 화면을 보여주도록 처리하는 것을 라우팅이라고 합니다.
사용이유
- create-react-app로 프로젝트를 생성하게 되면 기본적으로 SPA에 CSR(클라이언트 렌더링) 입니다.
- 하나의 페이지만 사용하게 되는 것입니다.