[개념]
- FaceBook 개발, Componet에 집중한 JavaScript 프론트엔드 '라이브러리'
- 단순히 보여지는 'View' 만 초점을 둔 라이브러리
--> View를 제외한 기능(라우터 등)은
Third-party Library or Framework(Angular 등)이 필요!
[특징]
1. Virtual-DOM 사용
: 바로 real-DOM에 렌더링 하지 않고, virtual-DOM을 둬서 이전의 상태를
SnapShot으로 유지하기 때문에 변경사항만 분석해서 update 한다!
(불필요한 자원 로딩이 없음)2. 다른 라이브러리 및 프레임워크와 호환 가능
3. SSR 및 CSR 모두 지원
- 렌더링(Rendering)
: 웹 페이지를 화면에 그려주는 것
- SSR(Server Side Rendering)
: 클라이언트가 요청 할 때 마다 서버에서 새로운 페이지를 받아서 렌더링
(전통적인 웹 페이지 구동 방식)
[특징] : 초기 로딩속도가 빠르지만, 서버에 부담
- CSR(Client Side Rendering)
: 최초 빈 페이지를 서버에서 제공하고,
View는 리소스들을 다운 받고 클라이언트에서 JS를 통해 렌더링!
(SPA[Single Page Application] 구동방식에서 사용)
[특징] : 서버에 부담이 적다