먼저 리액트는 UI 라이브러리이다.(https://reactjs.org/) 다들 아시겠지만 라이브러리는 참조가 쉽고, 라이브러리의 일부분만 가져와서 사용하는 게 편리하다. 또한 리액트는 UI 라이브러리이기 때문에 리액트 자체만으론 전역 상태 관리, 라우팅, 빌드 시스템 등을 지원하지 않는다. 리액트에서 앞선 기능들을 사용하려면 Redux, Mobx 등을 사용해야 한다.
반면 뷰는 자바스크립트 프레임워크이다.(https://vuejs.org/) 부분적인 사용이 불가능하고 프레임워크 안으로 들어가서 프레임 워크가 지원해주는 문법에 따라 작성해주어야 한다. 그렇기 때문에 라이브러리와 달리 더 많은 기능을 디폴트로 제공해준다.
앞서 언급했듯 리액트와 뷰는 코드를 작성하는 방법이 다르다. 리액트는 JSX(JavaScript XML) 형태로 코드를 작성하여 JavaScript 문법을 응용하기 때문에 JavaScript만으로 UI 로직과 DOM을 구현한다.
하지만 뷰는 HTML, JS, CSS 코드 영역을 분리해서 작성한다. ".vue " 파일을 만들 때에도 패턴이 존재한다. ". vue"에서 template에 HTML 작성 영역, script 안에는 JS, style 안에 CSS를 작성한다.
아주 미세한 차이이기 때문에 사용자 경험 측면에서 느낄 정도의 차이는 아니지만, 실제로는 뷰가 리액트에 비해 조금 더 빠르다고 한다. 그렇기 때문에 속도 이슈에 민감한 코인 거래 사이트에서도 vue를 사용하는 경우가 있다고 한다.
React 단점
앱의 규모가 커지면 속도가 느려진다.
출처
https://brunch.co.kr/@skykamja24/573
https://80000coding.oopy.io/f27f6183-0523-43e1-ab90-8f8175bd4a88
https://yozm.wishket.com/magazine/detail/198/