과거의 내가 미래의 나에게
마이그레이션 스택으로 vue3를 선택하게 된 이유 본문
우리 팀은 현재 프론트엔드의 마이그레이션이 진행중이다. 우리 팀 중에서 프론트를 맡고있는 내가 이 마이그레이션에 관련된 모든 스택을 정했는데, 지금 정한 이 스택이 정말 맞는 길인지 아직도 불안에 떨고 있었다.
내가 정한 스택인데 왜 불안할까 생각해봤더니 이 스택으로 정한 이유를 명확히 설명하지 못하기 때문인 것 같았다.
따라서 시간을 왜 내가 기존의 vue2 환경에서 vue3으로 스택을 정하게 되었는지 글을 써보며 내 마음을 다져볼까 한다.
마이그레이션의 시작
우리 팀은 vue2 환경으로(그 당시에는 그냥 vue였겠지만) 프론트를 구축하였다. 제품이 처음 탄생할 당시에는 프론트를 전념하는 개발자는 없었고 그저 세상 모든 것을 개발할 줄 아시는 개발자가 최소한의 프론트를 만들었다고 한다. 왜 vue2를 선택하였는가 대해서는 들은 바 없으나 아마 vue의 장점 중 하나인 학습 비용이 상대적으로 적기 때문일 거라 막연히 유추할 뿐이다
이러한 vue2 프론트 환경에서 마이그레이션을 하게 된 계기로는 우리 팀에 프론트에 집중할 사람이 탄생하여(바로 나!) 프론트 환경을 고려할 시야가 생겼고, 또 vue2의 공식 지원 종료로 인해 더이상 기존 환경을 유지하는 것이 껄끄러웠기 때문이다.
프론트 개발자로 진화해버린 덕분에 이 마이그레이션은 내가 주도해야하는 상황이 되었고, 많은 난관이 기다리고 있지만 가장 먼저 고민해야할 부분은 어떤 프론트 프레임워크(혹은 라이브러리. 아래부터는 프레임워크라 통합하겠다)를 사용할 것인가였다.
vue3로 간 이유
vue3를 선택하게 된 가장 큰 이유는 vue에서 react로 전환하여 얻을 이익보단 전환하지 않았을 때 얻는 이익이 더 컸기 때문이다.
react의 사용률을 보았을 때 react만의 크나큰 장점이 있을 것이라 생각했는데, 막상 서치해보니 vue보다 특출나게 더 뛰어난 이유는 찾을 수 없었고, 그나마 vue보다 뛰어난 장점이라 하면 수많은 라이브러리와 방대한 커뮤니티, RN의 존재로 모바일로의 쉬운 이식, 한국에서 프론트개발자로써 이직하기 위한 수단(!) 정도로 밖에 못찾았다.
가상 DOM의 사용, 컴포넌트 기반의 개발, 코드 재사용이 유용함...등 이것저것 많이 제시는 했지만 그것들을 vue로 구현 못할 정도는 아니었기 때문에 vue에서 react로 이전하면서까지 얻을 장점이라 생각은 못했다.
* 물론 우리 제품은 프론트가 단순한 구조를 가지고 있고 또 화면보단 뒤에 있는 데이터들이 훨씬 가치가 있으며 무엇보다 사용자가 굉장히 제한되어있기에 내가 위와 같은 생각을 했던 것이다. 만약 프론트가 섬세하고 더 확장성있고 많은 사용자에게 공개되는 곳이라면 아마 위와 같은 말은 쉽게 나오지 않았을 것이다.
또한 react의 큰 장점 중 하나인 코드 작성의 유연함이 지금의 우리 개발팀에게는 오히려 독이 된다고 판단하였다. 우리 개발팀은 코드 스타일이 통일되지 않고 자유롭게 작성되고 있는데, 이 때 react를 사용한다면 개인마다 다른 스타일로 코드 해석이 난해해 질 것이라 생각했다.
사실 개발팀의 코드 스타일이 통일되지 않은 것은 좋지 않은 환경이라 생각은 하지만, 이 환경을 잡아가면서 마이그레이션하는 것은 인력적으로도 시간적으로도 불가했다. 나는 개인 프로젝트를 진행하는 것이 아니라 기업에서 일을 하는 것이기에 원활히 성공시키지 못할 것은 과감히 포기해야 했고, 내가 포기한 것은 코드 스타일의 통합이었다. 그리고 이 이유때문에 더욱 vue3를 선택한 면도 있었다. vue3는 제한된 형식으로써 개발을 해야하기에 강제적으로 코드 스타일이 통합 될 수 있기에 위의 문제점을 다소 해결할 수 있었던 것이다.
마지막으로 next나 nuxt가 아닌 왜 vue3로 갔느냐에 대한 이유는 간단하다. 우리 프론트는 중소규모이고 무엇보다 SEO를 전혀 고려하지 않아도 되는 환경이기 때문이다.
다만 최신 프레임워크들은 서버사이드 코드를 작성할 수 있는 장점이 있어서 그 부분은 아쉽지만, 역시나 결국 빠르게 결과를 내야하는 이 시점에서 한 두가지의 장점을 위해 학습 비용을 투자할 수는 없었다.
따라서 나는 react로 전환하는 것보다는 상대적으로 익숙한 환경인 vue3를 선택하는 것이 우리의 환경에 가장 알맞다고 판단하였던 것이다.
마무리
사실 react로 가지 않아서 너무 아쉬운 것은 아무래도 vue 경험은 이직시장에서 상대적으로 인기가 없고 또 react의 어마무시한 서치 자료를 맛보지 못한다는 것이다. 솔직히 그냥 눈 딱 감고 react로 진행해버려서 내 개인의 이직 시장에서의 가치를 높일까도 생각했지만 내가 개발하는 제품이 단지 나만의 개인적 이유로만으로 결정된다면 결코 편한 마음으로 하진 못했을 것 같다.