FRONT-END/TIL
[TIL] 230201 SPA
서근
2023. 2. 5. 02:04
반응형
SPA?
Single Page Application - 한 개의 페이지로 이뤄진 앱
MPA(Multi Page Application) 과 상반된 개념
왜 SPA
가 좋은가?
MPA
는 어떠한 이벤트가 발생할때마다 웹페이지가 Reload 되어 Re-rendering되 데이터를 많이 잡아 먹는 문제가 있다.
왜냐하면 SSR
을 사용하기 때문! 하지만,
SPA
를 사용하면 필요한 부분만 수정해 웹페이지가 Reload 되는 문제가 없다. SPA
에는 대부분 CSR
을 권장하고 사용하고 있다.
[CSR] / [SSR]
SSR - Server Side Rendering
서버쪽에서 랜더링 준비를 끝마친 상태로 클라이언트에 전달됨
CSR
- Client Side Rendering
랜더링이 클라이언트 쪽에서 일어남
SPA 장점
- 딱 한개의 페이지 싱글 페이지로 구성된 앱
- 서버에 1회 리소스
- 필요한 데이터만 받아와 새로고침 없이 데이터 수정
- 자연스러운 UX 구현
Angular
,Vue
가 비슷한 기술React
를 사용하면 안드로이드/iOS 앱까지 만들 수 있음 (Expo에 대해 배워야함)
SPA 단점
- 싱글 페이지 이기 때문에
SEO
에 취약함 - 이것을 보안하기 위해
Next.js
가 등장 (ReactJS
베이스)
컴포넌트
- 재사용이 가능한 블럭 이라고 생각하면 됨.
- 헤더/바디/푸터 안에 많은 컴포넌트들이 존재
SPA
기반: 컴포넌트 단위로 변경사항을 반영 (Re-rendering 없음)MPA
기반: 하나의 변경사항을 위해 전체 페이지 리로딩 (Re-rendering 됨)