Vue는 자바스크립트 기반의 프레임워크
Evan You가 만들었으며, 2014년 릴리즈를 시작으로 꾸준히 발전하고 있는 자바스크립트 프레임워크.
1 반응적이고 조합 가능한 컴포넌트를 제공
React와 Vue 모두, 웹 UI를 작은 컴포넌트 단위로 구성
* 컴포넌트는 다른 프로젝트에서도 재사용할 수 있고, 컴포넌트 캡슐화와 확장이 가능해 개발이 유연해지는 장점이 있다.
2 Virtual DOM
둘다 virtual DOM을 기반으로 하며, tree알고리즘을 통해 변화사항을 찾아낸다.
* virtual Dom이 하는 일은 데이터가 업데이트 되면 이전 virtual Dom이랑 비교해서 변경된 부분만 실제 Dom에 적용시킨다
장점 ⇒ Virtual DOM을 통해 렌더를 한 번으로 줄여 효율적으로 HTML을 제어
3 코어 라이브러리에만 집중하고 있고 라우팅 및 전역 상태를 관리하는 컴패니언 라이브러리가 있다.
SPA를 통해 여러 페이지를 보여주기 위한 라우터 역시 리액트와 뷰 둘다 존재한다.
차이점이라면 리액트는 3rd party library에서 그걸 지원해주고 있고,
그 상황을 지켜보면서 만들어진 뷰는 공식 라이브러리도 함께 만들어서 내놨다는 점 정도
전역 상태관리 도구 역시 비슷하다.
리액트는 제 3자에 의해 redux 같은게 만들어졌고,
후발주자인 vue는 시작할 때 부터 redux와 redux-saga가 합쳐진 형태의 전역 상태관리 도구인 vuex를 만들어서 공식으로 내놨다.
4 CIL, webpack
둘다 기본 프로젝트 구조를 만들어주는 툴을 cli로 제공하고 있다.
webpack 기반으로 번들링 해주는 기능 역시 마찬가지로 존재한다.
* CIL 애플리케이션 개발에 집중할 수 있도록 프로젝트의 구성을 도와주는 역할
5 mobile application을 위한 Native 지원
둘다 모바일 앱 개발용 도구를 지원한다.
리액트 네이티브는 페이스북에서 공식적으로 지원하는 라이브러리이며, 뷰 네이티브는 서드파티 라이브러리이다.
✓ 참고
'Vue' 카테고리의 다른 글
[ Vue ] emit 한줄로 사용하기 - @click.self (0) | 2021.02.04 |
---|---|
[ Vue ] 컴포넌트 내에서 라우터 변경 감지하기 (0) | 2020.12.22 |
[ Vue ] Vue Router 사용하기 ( + query , params ) (0) | 2020.10.05 |
[ Vue ] CLI로 SPA프로젝트 생성하기 + Vuetify (0) | 2020.09.25 |
[ Vue ] 컴포넌트간 데이터 전달 , PROPS와 EMIT (0) | 2020.09.21 |