어떻게 Vue.js는 이렇게 인기가 많아진 것일까?

James Dean
A little code never killed nobody
5 min readJul 8, 2018

원본 : Why has Vue.js become so popular?

저자 : Amit Kothari

기타참조: Why Is Vue.js Growing so fast? 4 Reasons Behind the Framework’s Success

자바스크립트 Echosystem은 선택 가능한 수 많은 프레임워크와 라이브러리로 넘쳐난다.
그리고 이들 중 하나가 바로 최근 엄청난 인기를 얻고 있는 Vue.js다.
이번 포스트 에선 Vue.js를 쓰는 이유와 왜 당신의 다음 Project를 진행 할 때Vue.js가 고려해 봐야 할 매력적인 프레임워크인지 알아 보도록하자.

Vue.js란 무엇인가?

Vue.js는 웹 인터페이스를 만들기 위한 자바스크립트 프레임워크이다.
2018에 가장 중요한 웹 기술 top 5안에 들어갈 정도로 많은 인기를 얻었다.
Github page를 보면 얼마나 인기가 많은지 실감을 할 수 있을 것이다.

모던 웹 프레임워크로서 Vue는 개발자가 요구하는 많은 부분을 충족시키고 있다. 우선 Vue는 Virtual DOM을 사용하기 있어 가볍고 빠르다.

Vue에 관한 가장 놀라운 사실 중 하나는 Vue또한 Components 기반의 웹 어플리케이션 제작 방식을 지원한다는 점이다.
이로 인해 기존 컴포넌트의 재사용과 보다 빠른 개발을 이루어 낼 수 있다.

한 조사에 따르면 48%이상의 개발자들이 Vue를 배워보고 싶다고 말했고 20%정도는 이미 사용해보았으며 더 중요한 사실은 한 번 이 프레임워크를 사용해본 사람 중 90%이상이 다음 프로젝트에 사용하고 싶다는 의사를 밝혔다.

그렇다면 Vue는 왜 이렇게 인기가 많은 것인가?

모든 모던 웹 프레임워크는 그 만의 강점을 지니고 있다.
그렇지 않더라면 애초에 누구도 쓰지 않았을 것이다.
하지만 여기 Vue가 왜 현재 웹 개발자들이 에플리케이션을 개발하면서 당면할 수 있는 문제들을 다루기 위해 좋은 프레임워크인지 말해주는 몇 가지 이유가 있다.

1. 학습 난이도 비교적 낮다.

새로운 프레임워크를 고를 때 확인 해 봐야 할 사항 중 하나가 바로 학습 난이도이다.
다른 프레임워크랑 비교해 봤을 때 Vue의 컨셉이나 API가 이해하기 훨씬 수월하다.
게다가 우리가 기존에 웹을 개발하던 방식의 연장선이라 보다 빨리 적응 할 수 있을 것이다.
다른 기술의 학습 또한 요구하는 다른 프레임워크와는 달리 ( Angular로 치면 Tyscript, React로 치면 JSX와 같이 )Vue는 그저 HTML기반의 템플릿 위에 Javascript와 CSS를 이용해 복잡한 에플리케이션을 구현할 수 있다.

2. 제약이 적고 유연하다.

Vue는 다른 웹 프레임워크와 비교할 때 보다 유연하다. View에 집중된 Core library는 각자 다른 문제점에 맞는 솔루션을 선택할 수 있게 해준다.
State 관리와 라우팅을 위해 다른 라이브러리를 사용할 수 있는 한편, Vue는 Vue만의 공식 라이브러리 역시 제공하고 있다.
예를들어Sstate 관리를 위한 Vuex, Vue의 공식 라우팅 라이브러리인 vue-router가 있다.
그리고 Vue는 심지어 JSX와 TypeScript조차 지원을 하고 있다.
그리고 CSS를 JS에 함께 넣어 관리하고 싶다면 이를 위한 많은 라이브러리들 역시 Vue에서 사용할 수 있도록 지원하고 있다.

3. Performance.

많은 팀들이 Vue를 사용하는 이유 중 하나가 바로 그 퍼포먼스에 있다.
Vue는 최적화를 위해 조금만 신경을 써도 다른 프레임워크보다 더 나은 성능을 발휘하며 ( 물론 프로젝트의 규모에 따라서 이야기는 달라 지겠지만 )
이는 Virtual DOM의 덕이 크다.

4. 유용한 도구들

많은 라이브러리들과 함께 Vue는 훌륭한 도구를 통해 보다 나은 개발을 경험하게 해줄 것이다.
예를들어 Vue-CLI는 Vue의 Command line 툴인데 간단하며 강력하다.
이를통해 다른 템플릿을 사용하거나 각각의 프로젝트를 상황에 맞게 맞추는 등, 새로운 Vue Project를 시작하는 과정이 굉장이 쉽다.

Vue는 또한 크롬에서 Vue만의 개발자 도구를 지원한다. ( vue-devtools ), 이를 통해 Vue의 컴포넌트 트리와 Vuex의 state, 뷰 이벤트와 웹의 반응 속도등을 검사할 수 있는데, 이를 통해 디버그 과정 자체가 상당히 수월해 진다. .
Vue는 또한 hot reload 역시 지원하고 있는데 Hot reload는 전체 페이지를 re-load하기 보다 변경이 필요한 부분만 re-load하기에 좋다.

Vue는 Web개발을 위해 훌륭한 옵션이 될 수 있음과 동시에 크로스 플랫폼 모바일 apps을 개발하기 위해 Weex와 협력하고 있다.
Week은 세계에서 가장 큰 기업 중 하나인 알리바바의 지원을 받고있다.
Weex은 아직 React Native와 같은 app 프레임워크 처럼 아직 잘 자리잡고 성숙한 프레임워크는 아니지만 Vue를 통해 ISO, Anroiod에서 모두 렌더링 가능한 UI를 만들 수 있게 해준다.

--

--