Community

Vuex 도입기 : 기술 도입의 당위성 부제 - 팀장님 우리 이거 왜 안써요? 현재 저희 회사는 프론트엔드 프레임워크로 Vue를 채택하여 사용하고 있습니다. 하지만 제가 담당하는 프로젝트에서 Vu

Vuex 도입기 : 기술 도입의 당위성 부제 - 팀장님 우리 이거 왜 안써요? 현재 저희 회사는 프론트엔드 프레임워크로 Vue를 채택하여 사용하고 있습니다. 하지만 제가 담당하는 프로젝트에서 Vuex를 사용하고 있진 않았습니다. authentication 등 전역으로 관리되어야 하는 데이터를 Vue 커스텀 플러그인을 사용하고 있는 상황이었습니다. 경험이 많지 않은 입장에서 당연히 전역 상태 관리 라이브러리를 사용하는 것이 맞지 않나 하는 의구심이 들었습니다. 하지만 팀장님의 답변을 통해 반드시 최신 사용 기술을 도입하는 것이 늘 정답은 아님을 알게 되었습니다. 현 프로젝트에 전역 상태 관리 라이브러리가 사용되지 않았던 이유는 아래와 같았습니다. * 전역으로 관리해야 하는 데이터가 많지 않아 현재 사용중인 event bus나 plugin으로도 충분히 해결이 가능하다. * 전역 상태 관리 또한 명확한 가이드나 거버넌스가 확립되지 않으면 이 또한 남용될 가능성이 크다. * 서비스가 빠르게 구현, 확장되어야 하는 현 상황에서 마이그레이션에 투입되는 비용 부담이 크다. 업무에서 이상과 현실이 맞지 않을때 우리는 흔히 ‘실무적’이란 말을 사용합니다. 실무적으로는 충분한 기술적 검토와 적용 때문에 비즈니스 타이밍을 놓칠 수 없기 때문에 레거시와 서비스 구축 속도의 트레이드 오프가 이루어질 수 밖에 없습니다. 물론 Vuex가 그리 대단한 기술은 아닙니다. 하지만 ‘전역 상태 관리’는 기술이라기 보다 하나의 룰에 가깝습니다. 제가 도입을 주장했던 이유는 아래와 같습니다. * 표준으로 사용되는 전역 상태 관리 라이브러리를 도입함으로써 신규 인원이 투입되더라도 기술적 이해 비용을 절감할 수 있다. * 데이터 플로우를 정의하고 상태를 관리하는 모든 방법에 대해 Flux 모델로서 단일 원칙을 확립하자. * 서비스가 더 확장되기 전에 미리 도입하는 것이 낫다. 핵심은 좀 더 보편적인 방식으로 상태를 관리하고, 상태를 변경하는 등 관리상 수반되는 모든 행위는 단방향 데이터 플로우 원칙으로 통일해서 관리 비용을 줄여나가자는 취지였습니다. 너무나 당연하지만, 이번 기회에 인기가 많고 흔히 사용되는 라이브러리라도 기술 도입의 당위성이 명확해야 함을 다시 한 번 생각하게 되었습니다. 구성원 모두 능숙히 사용할 수 있고, 기존 로직을 변경하는데 수반되는 비용과 부채 수준까지 고려해서 기술 스택을 선택해야 했습니다. Nuxt를 이용한 SSR 도입도 욕심은 있었지만, 사실 저희 회사의 엔드 유저는 특정 직군에 한정되어있기 때문에 폐쇄적인 커뮤니티 기반의 플랫폼 사업입니다. 따라서 SSR을 이용한 SEO 개선은 굳이 필요가 없었습니다. 그렇다면 해당 기술은 개인적인 커리어 스택을 추가하기 위한 욕심에 불과한 것 같았습니다. 감사하게도 도입을 긍정적으로 생각해주셔서 사내 기술 세미나에서 Vuex의 의의와 사용에 대해 발제, 진행을 맡게 되었습니다. 그 때 사내 위키에 간단히 적어 놓은 Vuex 가이드를 갈무리해서 블로그에 올리게 되었습니다.

알림

알림이 없습니다