대표적인 프론트엔드 프레임워크
사용자 인터페이스를 만들기 위한 진보적인 자바스크립트 프레임워크
view와 발음이 같다.
현대적인 tool과 다양한 라이브러리를 통해 SPA(Single Page Application)를 완벽 지원
Client Side Rendering (클라이언트 사이드 렌더링)
서버에서 화면을 구성하는 SSR 방식과 달리 클라이언트 화면을 구성
SPA가 사용하는 렌더링 방식
장점
단점
SSR
Server Side Rendering (서버 사이드 렌더링)
서버에서 완성된 HTML을 브라우저에서는 보기만 하면 된다.
장점
- 초기 구동 속도가 빠름
- 클라이언트가 빠르게 컨텐츠를 볼 수 있음
- SEO(검색 엔진 최적화)에 적합
- DOM에 이미 모든 데이터가 작성되어있기 때문
단점
- 모든 요청마다 새로운 페이지를 구성하여 전달
- 반복되는 전체 새로고침으로 인해 사용자 경험이 떨어짐
- 상대적으로 트래픽이 많아 서버의 부담이 클 수 있음
서버가 만들면 SSR / 클라이언트가 만들면 CSR
비용적인 측면에서는 CSR이 좋다.
우리 서버에서 일을 더해야 하면 개발자가 돈을 더 써야 한다.
브라우저(클라이언트)가 일을 하도록하면 비용적으로 좋다.
SSR와 CSR 중 서비스 프로젝트 구성에 맞는 선택!
SEO를 대응
Vue.js 또는 React 등 SPA 프레임워크는 SEO 대응기술이 존재
또한 별도의 프레임워크를 추가로 사용한다.
- Nuxt.js - Vue
- Next.js - React
구성요소
Model
JavaScript Object
모델은 오브젝트다 끝
View
View Model
ViewModel
Vue에서 ViewModel은 모든 Vue Instance
View와 Model 사이에서 Data와 DOM에 관련된 모든 일을 처리