develop
Vue 개발자였던 내가 이세계에서는 React 개발자가 된 건에 대하여🤭
상당히 혼모노스러운 제목에서 알 수 있다시피 나는 2년차 Front-End 개발자로써 Vue.js를 사용해왔다. 나름대로 이전 회사에서는 여러 프로젝트를 담당했고 node.js 개발도 겸했기 때문에 Back-End와 Front-End를 오가며 서버 개발자와 협업하고 실제 서비스 런칭까지 경험했다.
Vue.js의 부족한 생태계로 인해 어마무시한 React 생태계가 부럽기도 했지만 회사의 기술 스택을 함부로 바꿔버릴 수도 없을 뿐더러 개인적으로 Vue.js를 굉장히 접근성이 좋고 설계가 좋은 Web Framework로 평가하고 있기 때문에 React로 넘어가는 일은 없을 것이라 생각했다. 그러나 우연한 계기로 입사한 회사에서 React를 쓰게 되어 적응하는 과정에서 결국 나는 React에 완전히 빠져버리고 말았다.
👏 Vue.js vs React.js
Vue와 React의 가장 큰 차이라고 한다면 역시 JSX가 아닐까 싶다. 물론 Vue도 JSX를 사용할 수 있지만 Vue는 확장자 .vue에 SFC(Single File Components)로 명명되는 자체적인 템플릿에 의존한다. 굉장히 접근성이 높은 형태로 구성되어 있기 때문에 오히려 js를 잘 모르는 사람들이 쓰기에도 상당히 사용성이 좋지만 그로 인한 단점도 명확했다. DOM을 조작하기 시작하면 런타임 시점이 생각보다 이해하기가 어렵고 복잡하며, 순수한 ES Module이 아니기 때문에 내가 생각하는대로 동작하지 않는 경우가 많다. 쉽게 말해 Vue Instance에 대한 의존도가 지나치게 높다는 것이다. 물론, Mixin이나 Plugin같은 Vue만의 훌륭한 도구들이 있지만 Vue SFC에 비해서는 접근성이 상당히 낮은 편에 속한다. 2년 동안 개발하면서 Mixin은 불편해서 잘 쓰지도 않았고, Plugin은 분명 유용하지만 이 역시 Vue Instance에 종속되기 때문에 상당히 불편했다.