brunch

매거진 5mm 로깅

You can make anything
by writing

C.S.Lewis

by 홍기린 Feb 12. 2024

다음 프로젝트, Vue3와 React 중 뭘로 할까

Vue3와 React 비교 검토하기


프론트엔드 개발자로 일을 한 지 4년 차에 접어들었다. 그동안 작업했던 프로젝트들은 모두 Vue2였다. 내 경력의 대부분은 Vue2와 같은 Vue계열인 Nuxt2로 작업한 프로젝트였다. 하지만 이제는 헤어져야 할 시간이다... Vue팀도 2023년 말에 Vue2가 종료됨을 넌지시 이야기했다. 같이 쓰던 Vuetify 라이브러리도 훠얼씬 전에 버전3가 나왔다. 난 참 오래도 버텼다. ㅠ 


중간중간에 React를 만나는 시간도 있었다. 개인 홈페이지를 구축해야 할 필요성을 느껴서 스터디도 할 겸 리액트와 amplify로 개인 홈피를 개발했다. 직관적인 Vue에 비해 리액트의 JSX 문법은 익숙해지는 데 시간이 필요했다. 개인 홈페이지라서 다른 프로젝트들처럼 엄청 복잡한 구현을 해볼 순 없었지만 React 맛보기 체험을 할 수 있었다. 꽤 흥미로운 경험이었다.


이제, 다음 프로젝트가 시작된다. 어떤 프레임워크로 프로젝트를 시작할지 결정해야 하는 지점이다. Vue3로 할 것인가 리액트로 할 것인가... 고민이 시작되었다. 마치, 평양냉면 먹을래 일반(함흥) 냉면 먹을래 하는 것 같다. 남들도 많이 먹고 다양한 맛의 옵션이 있는 함흥냉면을 먹을지, 마이너 하지만 순수한 평양냉면을 먹을지.... 둘 다 맛있단 말이지. 흠.




그래서 Vue3와 React를 본격적으로 비교해 보았다. 여러 블로그의 글들과 공식문서를 참고했다.

내 기준에 비교적 승리에 가까운 항목을 연두색으로 칠해보았다.


Vue나 React 중 어느 것이 더 "좋다" 거나 "우월하다"라고 할 수 없었다. 처음 이 정리를 시작할 때는 어느 한쪽의 승자가 있을 거라고 생각했는데, 막상 정보를 수집하다 보니 특출 난 승자는 없었다. 결국 취향의 차이인가...? 평냉이냐 함냉이냐.





Vue vs React

나름대로 인사이트를 정리해 보았다.


1. React의 강점은 높은 인기와 방대한 생태계이다. 수천 개의 무료 도구, 라이브러리 및 리소스를 자유롭게 활용할 수 있다. 따라서 풍부한 기능이 많이 필요한 대규모의 프로젝트를 해야 할 땐 React가 유용할 것 같다.


2. Vue는 종합선물세트다. 많은 기능이 탑재되어 있고, 정해져 있다. 이는 곧 장점이자 단점이다. 고민할 필요가 없는 반면 자유도는 떨어진다. 하지만 그 기능들은 꽤 유용하며 사용하기에 편리하다. 만약 React에서 Vue에 기본 내장된 기능을 구현하려면 여러 개의 추가 라이브러리를 설치해야 한다.


3. 현재 구직 중이라면, React는 선택이 아닌 필수이다. Vue에 비해 취업시장의 규모가 7배 정도 크다.


4. 만약 구직 중이 아니라, 중소규모의 프로젝트를 시작하려는 사람이라면 현재 자신에게 친숙한 프레임워크를 사용하는 것이 좋은 방법이다. 그게 React이든 Vue이든 크게 상관이 없다.


5. Vue가 쉽다는 건 "쉽다"는 뜻으로 이해하기보다는 "직관적이다"라는 뜻이 더 알맞은 것 같다. v-for나 v-if처럼 기존 html만 알아도 직관적으로 이해할 수 있는 문법들이 많고, template도 html 문법 그대로 사용하기 때문에 직관적이고 그래서 진입 허들이 낮은 것이다. 흔히들 말하는 Vue는 초보자용, React는 중급자용이라는 표현은 적절하진 않다.





그래서 나의 선택은...?



최종 선택까지는 아니지만, 잠정적으로 Vue3를 더 깊이 알아보려고 한다. 그 이유는,

1. 지금 투입되는 프로젝트의 규모는 중소 규모이며, 복잡한 기능이 없다.

2. 나의 현 상태를 반영해 보았을 때 Vue3를 배우는 러닝커브가 React를 배우는 것보다 짧을 것이다.

3. 협업 시에 Vue를 모르는 사람과 협업하게 되더라도 Vue는 진입장벽이 낮아서 큰 문제가 없을 것이다.


예전에 진행했었던 Vue2의 프로젝트를 새로운 vue3라는 그릇에 새롭게 부어보는 연습을 해보려고 한다. 그리고 만약 시간 여유가 더 있으면 React로도 동시에 부어보는 연습을 해보려고 한다. (but 시간 없으면 리액트는 패스)


그래도 뭔가 점을 찍고 나니 마음이 후련하다. 

하지만 결국엔.....

..... 언젠간 Vue3와 React 둘 다 하게 되지 않겠는가 ㅋㅋㅋ 프론트엔드의 숙명이란... 

ㅋㅋㅋㅋ 플러터도 해야대는뎅... 



....생각과 고민은 여기까지 하고 일단 해보기로 ;)




*** 현업에 계신 분들의 의견 환영합니다. 멀 모르는 소리, 이게 백배는 낫다!! 라고 자신있게 말해주시는 분 환영합니다........






참고글

- https://medium.com/@zero86/번역-react-js-vs-vue-js-in-2023-5118ae2e1454

- https://jelvix.com/blog/js-frameworks-is-vuejs-better-than-react

- https://itchallenger.tistory.com/732

- https://velog.io/@eunbinn/react-i-love-you-but-youre-bringing-me-down

- https://brunch.co.kr/@jowlee/128

- https://velog.io/@heonys/Vue-React-관점에서-Vue3-바라보기

- https://www.youtube.com/watch?v=Jk0smQXxd9k

- https://80000coding.oopy.io/f27f6183-0523-43e1-ab90-8f8175bd4a88

- https://velog.io/@winterlood/React가-처음인-당신-Ep1.-탄생편

- https://www.appsdevpro.com/blog/vue-vs-react/

- NuxtJs와 NextJs 비교 https://dico.me/front-end/articles/338/ko

https://debugpointer.com/javascript/nextjs-vs-nuxtjs


매거진의 이전글 localStorage를 사용해서 투두 앱 만들기

작품 선택

키워드 선택 0 / 3 0

댓글여부

afliean
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari