잡담

Vue.js VS React.js 왜 리액트가 대세일까?

Junly_21 2023. 11. 27. 15:59

 

Vue를 처음 배우는 과정에 팀원분이 이런 말씀을 하셨다.

“ Vue 를 이번에 처음 접하는데 생각보다 괜찮다는 느낌이 들어서 왜 안쓰는지 좀 더 지켜보고 고민 해봐야겠다”

 

React를 사용하다가 데브코스에 참여한 후 JS수업을 빡세게 진행한 후 뷰 강의를 들어보니

React는 JS기반이라는 느낌이 강했는데 Vue는 좀 강제하는 문법이 많은 것 같다” 라는 생각이 들었던 나는,

실제로 Vue가 더 쉬운게 맞나? 라는 생각이 들어 여기저기 자료를 찾아보았다.

 

예상외로 React가 Vue보다 나은 이유가 전부 다 깔끔하게 정리되어있는 자료는 없었다.

'정량적인 지표' 보다는 '시대적 흐름' 같은 객관성 보다는 주관성이 들어가있고, 딱 떨어지는 것 보다는 다양하고 복합적인 이유가 생각보다 많은 지분을 차지했다.

 

그러므로 실제로 이 글도 여러 사람의 의견과 나의 생각이 반영된 것이지, 시장에서 React가 Vue보다 우세한 의문에 대한 정답이라고는 볼 수 없을 것 같다.

 

React에 비교해 Vue가 가진 장점

여러 글에서 “ Vue가 결과적으로 웹 컴포넌트에 대한 이해는 있다는 가정 하에 JS에 대한 이해가 상대적으로 부족해도 개발을 진행 하는게 쉽다.” 라는 말을 볼 수 있었다.

 

Vue를 공부하며 강제하는 문법이 많다고 느낀 이유가 이것이고, 이게 JS숙련도가 부족한 사람에게는 장점이 될 수 있다는 점에 완전히 동의한다.

 

특히 코딩애플님의 블로그에서 예시를 든 state변경이나 for문 예시를 통해 Vue가 훨씬 쉽다는 것을 알 수 있었다.

https://codingapple.com/unit/why-use-vue-over-react/

그리고 이 글에 따르면 실제로 카카오는 React가 우세긴 해도 절반에 근접한 사용 비율로 나뉘어진다고 한다.

 

 

더 커진 의문

그러니 더더욱 의문에 빠졌다. 그래서 Vue가 더 좋은 것 같은데 왜 시장과 생태계는 React가 대세인 것이고,

더 좋은 프레임워크가 덜 사용되는것인가.

그냥 일찍 출시 된 것이 전부인가? 차라리 JS를 익힌 사람들에겐 React가 자유도가 높아서 더 좋았다고 하던가!! 라는 생각이 들었다. (물론 '자유도' 부분도 있지만 이게 Vue보다 압도적으로 우세를 점할 수 있는 단 하나의 이유가 되기엔 힘이 부족하다고 생각된다.)

 

React가 시장을 지배하는 이유

정말 복합적이기에 깔끔하게 떨어질 수 없고, 길게 늘어질 수 밖에 없다. 

리액트는 야금야금 다양한 이유를 합쳐서 Vue에 대한 우위를 가져가게 되었다.

 

우선 리액트는

Jquery랑 Angular보다 늦게 출시되었지만 챔피언의 자리를 지키고 있고,

Vue와 Svelte한테는 챔피언 입장에서 방어를 해내고 있는 중이다.

 

그 이유는 '아마도' Jquery와 Angular에 비해 React는 충분히 혁신적이었기에 점유율을 가져올 수 있었고,

Vue와 Svelte는 React에 비해 개선수준이 이루어진 프레임워크 때문이었기 때문이라고 보인다.

 

결국 새로운 프레임워크를 익히고 적용하는 데에는 학습과 마이그레이션을 위한 시간 등의 리소스가 분명히 투입되어야한다. 이 상황에서 React는 충분한 가치를 지니고 있었고, Vue와 Svelte는 수지타산이 맞지 않는 부분이 어느정도 있었다.

 

그리고 출시 시기가 의외로 중요했던 것으로 보이는데, 

React - 2013년

Vue- 2014년

Svelte - 2016년이다.

 

React는 가장 빠르고 혁신적으로 출시 되었기 때문에, 사람들이 React로 쏠리게 된다.

이 과정에서 React가 자리잡으며 시장도, 인력도, 오픈소스 생태계도 점점 커져갔기 때문에 이 요소들을 무시하고 개선된 프레임워크인 Vue와 Svelte를 사용하는 건 리스크가 있었다.

 

예를들어 Vue를 프로젝트로 사용하려고 해도, 인력이 충분치 않아서 무산되거나, 새로 들어올 사람들이 Vue를 모르고 React만 공부해올 가능성을 고려해 사용할 수 없다거나, Vue를 잘하는 사람이 팀에 한명이라 나가면 답이 없는 경우 등... React에 비해 새로운 프레임워크는 다분히 리스크를 띄고있었다.

 

그렇게 기업이 리액트만 쓰니 사람들이 리액트만 공부해오고,

사람들이 리액트만 쓰니 기업도 리액트를 사용하는 무한루프에 빠져버린 것도 있을 것이다.

 

누가 만들었니?

가장 대표주자인 Vue와 React의 개발 배경을 보면, 

React는 페이스북에서 팀 단위로 개발을 진행하였고,

Vue는  Evan You 라는 개인이 개발한 프레임워크이다.

 

신뢰도의 차이도 분명히 존재하고, Evan You 개인의 행보가 Vue의 사용여부에 대해 직,간접적인 영향을 미칠 수밖에 없다보니 호불호가 존재했다고 한다.

 

 

결론

Vue와 Svelte는 React보다 늦게 출시된 프레임워크이고, 그렇기 때문에 여러모로 더 나은 기능을 가지고 있을 수밖에 없다.

실제로 업데이트도 Vue와 Svelte는 React를 따라잡기 위해 꾸준히 진행하고, React는 업데이트가 상대적으로 더딘 편이다.

 

그럼에도 불구하고 시장은 여러 이해타산이 복합적으로 얽혀서 움직이고, 그렇기 때문에 단순히 편의성과 기능이 전부가 아니라는 것을 알 수 있는 한 편의 이야기(?)를 배웠다.

 

또한 먼 훗날 React에 비해 매우 혁신적인 무언가가 등장한다면, 그 시기를 함께 하고 싶다는 생각이 들었다. 

 

'잡담' 카테고리의 다른 글

깃 커밋메시지 컨벤션 (Git Commit Message Convention)  (1) 2023.11.14