- React (프레임워크가 아닌 라이브러리임!)
- facebook에서 개발
- XML을 변형한 JSX 문법 사용 권장(이것 때문에 러닝커브가 낮다고 할 순 없다)
- 컴포넌트를 재사용할 수 있어 생산성이 높고 유지보수에 유리하다.
- 단방향 데이터 바인딩
- 다양한 라이브러리를 선택할 수 있고 가볍다.
- 가상돔
- Angular
- google에서 개발
- Angular은 타입스크립트만 가능하고 Angular.js에서 자바스크립트 사용이 가능하다.
- 대규모 프로젝트에 적합한 타입스크립트를 효과적으로 지원한다.
- 전통적인 프레임워크로 프로젝트의 생성, 테스트, 빌드, 배포 모든 단계를 위한 기능을 제공한다.
- 학습난이도가 높다.
- 선택적 데이터 바인딩 (양방향, 단방향)
- 증가형 돔
- Vue
- 초보자가 사용하기에 쉽다. (JSX를 배울 필요 없이 HTML을 그대로 쓴다)
- 학습난이도가 매우 낮다.
- 후발주자로 생태계 규모가 작다. (상대적으로)
- 공식홈페이지 가이드가 한글로 변역되어 있고 번역의 질도 높아 쉽게 배울 수 있다.
- 선택적 데이터 바인딩 (양방향, 단방향)
- 가상돔
속도 차이는 미미함..
크기 : Angular > React > Vue
러닝커브 : Angular > React > Vue
한국에서 많이 사용 : React > Vue > Angular
Angular은 무겁고 러닝커브가 높기 때문에 React와 Vue 중에 선택을 하면 될 것 같다.
React는 Vue에 비해서 코드 작성에 자율성이 높다.
그래서 여럿이서 협업할 때 코드구조(스타일)를 맞추는데에 어려움을 겪을 수도 있다.
Vue는 최근 네이버와 카카오가 새로 프젝할때 사용한다고 한다.