Angular |
React |
Vue |
|
출시 |
2010년에 Google에서 |
2013년에 Facebook에서 |
2014년 Google직원인 Evan You |
TypeScript |
X |
X |
|
DOM |
Real DOM |
Virtual DOM |
Virtual DOM |
바인딩 |
단방향 , 양방향 데이터바인딩 |
단방향 데이터 바인딩 |
단방향 , 양방향 데이터바인딩 |
Template |
HTML파일에 마크업을 작성 |
JSX 기술 |
HTML파일에 마크업을 작성 |
Popularity |
3. |
1. |
2. |
Usercase |
Google, The Guardian , Weather.com |
Facebook, Twitter, Whatsapp, Instagram |
9Gag, GitLab |
develop |
Angular CLI |
Create React App |
Vue CLI |
저번주에는 개념적인것만 공부했다면
이번주에는 각각 샘플 프로젝트를 해보며 직접 무엇이 다른지 경험해보았다.
1. Angular
다른언어랑 비교 했을때 가장 다른 점은
Typescript 를 사용한다는 점이고, 더 객체 지향적인 관점에서 개발되는거 같다
직접 해본 느낌은 자바 MVC 패턴으로 개발하는거랑 정말 크게 다르지 않은 느낌이다..
자바가 javascript로 바뀐정도 느낌이랄까
특히 service를 이용해서 구현한부분에서 그렇게 느꼈다.
2. React
JSX를 이용하여 자바스크립트에서 DOM 생성
state는 불변이라 data를 변경시에 setState()를 이용해서 변경한다.
React Native가 있어 Mobile 앱에서 강점이 있다.
다른언어는 html 파일에 마크업방식으로 template을 구성한다면
React는 html 태그에 js 문법도 같이 들어가있는 jsx을 이용한다는게 문법적으로 많이 다르다.
그리고 vue.js와 크게 다른건
뒤에서 얘기하겠지만..
vue.js 는 data를 직접 변경이 가능하지만 React는 불가능하고 setState()라는 function을 이용한다.
기존에 Vue.js는 해봤어서
React를 해보니 느낀건 문법적인거 말고는 크게 다른게 없는데..??
부모 자식 컴포넌트 간에 props, emit하는것도 비슷하고
다 비슷한데??
그런데 JSX하는게 가장크게 다르고
그거에 따라 건드려 줄수 있는게 더 많다고 한다 ㅎㅎ;; 더 해봐야 알겠지만..
그리고 Vue.js에 있는 개념과 비슷하게
shouldComponentUpdate() 이런 function이 있는데 이부분은 더 공부 해봐야겠다..
3. Vue.js
한 컴포넌트에 template, script, style 이 모두 들어가 있다.
그리고 앞에서 얘기한거처럼 data를 직접 변경 가능하고
랜더링이 빠르다.
확실히 Vue가 더 가볍고 쉬운건 확실히 맞는거 같다
Vue를 먼저 배워서 그런지 그이후 파생되는 React도 조그만 보면 알 수 있을거 같다
Angular는 내 느낌상 자바 객체지향 개념이 있다보니
또 이것 또한 아는 부분이라
금방 할 수 있을거 같긴한데
결론
개발자의 숙련도에 따라 결정한다.
초급 개발자 위주이면 Vue.js
중급 개발자 이상이 대다수이면 React
- ThirdParty Library를 잘 조합할 수 있다면 React 그런것이 번거롭다면 Angular
Angular : 프로젝트 규모가 크고 타입스크립트를 선호
-유지보수가 좋다. MVC패턴
-
React : 거대한 생태계와 유연성을 선호 , Native 앱에서 사용가능
-Popularity
Vue.js : 쉽고 가벼운 프레임워크
'DEVELOP > Frontend' 카테고리의 다른 글
[Vue] Component Force Rerendering 하기 (강제로 rerender) (2) | 2021.10.26 |
---|---|
[Vue] computed , watch 중에서 뭐써야하지??? 헷갈리네 (0) | 2020.10.30 |
[Vue] 컴포넌트를 특정부분만 수정해서 쓰고싶다면? Slot ( 컴포넌트 재사용하기) (0) | 2020.06.25 |
React : Functional component 와 Class component의 차이점 (0) | 2020.03.24 |
Angular vs React vs Vue 비교 (0) | 2019.11.25 |