Vue.js 란?


현재 대학교 4학년 마지막 학기를 다니고 있다.

마지막 학기를 듣는 수업중 하나가

Vue.js 수업이다. Vue.js를 기존에 들어보기만 했지

직접 사용해보진 않았기 때문에

좋은 기회라고 생각하고 수업중에 열심히 공부하고 있다.


Vue.js는 프런트엔드 프레임워크이다.

나는 처음에 웹개발이란 것을 하려고 할때

백엔드 쪽으로 가야겠다 생각하고 웹 공부를 했다.


하지만 요즘 개발자분들의 얘기를 들어보면

백엔드와 프런트엔드의 구분이 조금 애매모호

해져가고 있다고 한다. 왜냐하면 기존 백엔드를 개발하시던

분들이 프런트엔드를 공부하고 프런트엔드를 개발하시던

분들이 백엔드를 공부하고 있다고 한다.


그래서 요즘 웹 개발을 제대로 하고 싶다면

둘다 공부 하라고 한다.

다른 나라는 어떤지 몰라도 우리나라 에서는 현재

둘다 알아야 하니 둘다 공부하라고 한다.

(다른 나라 얘기가 나와서 그런데 많은 개발자 분들이

웹 개발은 외국에 나가서 하라고 하신다. ㅋㅋ)


먼저 Vue.js에대해 알아보자면

Vue.js는 위에서 설명했듯이 웹페이지 화면을

개발하기 위한 프런트엔드 프레임워크이다. 기존

웹 개발자 뿐만 아니라 HTML, CSS, JavaScript 기초만 아는

웹 개발 입문자 및 컴퓨터 비전공자들도 배우기 쉽게

만들어 졌다고 한다.

뷰는 화면단 라이브러리이자 프레임워크 라고도 볼수 있다.

뷰 코어 라이브러리는 화면단 데이터 표현에 관한 기능들을

중점적으로 지원하지만 프레임워크의 기능인 라우터, 상태관리,

테스팅 등을 쉽게 결합할 수 있는 형태로도 제공된다.

즉, 라이브러리 역할뿐만 아니라 프레임워크 역할도 할 수 있다는 의미이다.

그래서 공식사이트에서도 뷰를 점진적인 프레임워크 라고 부르고 있다.


최근 프런트엔드 프레임워크 시장은 리액트(React)와 앵귤러(Angular)가

높은 점유율을 차지하고 있다. 리액트와 앵귤러가 상대적으로

오래된 프레임워크이기도 하고 이미 많은 기업에서 시스템을

해당 프레임워크로 구축해 서비스하고 있기 때문이다.


뷰의 창시자인 에반도 구글에서 일할 당시 브라우저 상에서 많은

프로토타이핑 작업을 앵귤러로 구현했다고 한다. 에반은 앵귤러의

데이터 바인딩 방식과 돔(DOM)에 직접 접근하지 않고도 데이터를

표현하는 방식에 흥미를 느겼다. 하지만 앵귤러를 이해하기 위해서는

방대한 크기의 프레임워크 구조를 이해해야 했기에

부담을 느꼈다고 한다. 그래서 에반은 앵귤러의 명시적 데이터 바인딩과

같은 필수적인 요소들만 가지고 화면을 구현하기 시작했고, 오픈 소스화

하면서 많은 사람들이 참여하여 프레임워크의 기능을 붙여 나가기 시작했다.

그리하여 뷰가 탄생 했다고 한다.


뷰는 2014년 2월에 처음으로 공식 배포되었다. 그래서 현재 시장 점유율은

기존에 있던 프레임워크에 비해 상대적으로 낮은 편이다. 하지만 요즘의

가파른 성장세를 감안하면 지금 시기에 배워야 하는 프런트엔드 프레임워크는

뷰라고 볼수 있다. 이것은 실무에서 퍼블리셔, 디자이너와 협업하는 대다수의

실무 웹 개발자분들이 공감하는 의견 이라고 한다.

뷰의 배포후 4년이 지난 2018년 현재 깃허브 리포지터리의 별 개수가 80300개가

넘을 정도로 인기가 많은 프레임워크가 되었다.

깃허브에서 별을 많이 받았다는 것은 그만큼 많은 사람들이 관심을 가지고

소스코드를 사용하거나 살펴보았다는 의미이다.


뷰의 장점으론 배우기가 굉장히 쉽다.

HTML, CSS, JavaScript 기초만 아는 입문자도 하루안에 배울수 있고,

익숙한 실무 개발자라면 몇 시간 이내에 배울 수 있다고한다.

또한 리액트와 앵귤러에 비해 성능이 우수하고 빠르다.

뷰 제작팀에서 리액트와 앵귤러를 가지고 같은 테스트케이스에서

성능을 비교한 결과 뷰가 가장 빠른것으로 나타났다고 한다.

또한 뷰는 리액트의 장점과 앵귤러의 장점을 갖고 있다.

앞에서 말했듯이 뷰는 구글에서 일하던 직원이 앵귤러를 더 가볍게

쓰고 싶어서 만든 프레임워크이다. 앵귤러의 데이터 바인딩 특성과

리액트의 가상돔 기반 렌더링 특징을 모두 가지고 있다.


앵귤러1은 프레임워크로서 완전한 기능을 제공하는 MVC구조로 출발하여

컴포넌트 기본의 앵귤러2로 진화했다. 이 과정에서 타입스크립트(TypeScript),

ES6(ECMAScript 2015)등 기타 어느 프레임워크보다

더 많은 학습이 필요하게 됬다. 리액트 또한 입문자가 학습하기에는

ES6과 JSX라는 장벽이 존재한다. 게다가 ES7, 웹팩 등 신기술이 마구

튀어나오는 상황에서 웹 개발자에게 주어지는 짐은 더 무거워진다.

따라서 쉽게 배울 수 있는 뷰의 등장이 참 반갑다고 할수 있다.



'Vue.js' 카테고리의 다른 글

뷰 컴포넌트간 통신(props)  (0) 2018.03.30
뷰 컴포넌트  (0) 2018.03.30
뷰 인스턴스  (0) 2018.03.30
Hello Vue.js! 프로젝트 생성하기  (0) 2018.03.30
Vue.js 개발환경 셋팅하기  (0) 2018.03.28

댓글

Designed by JB FACTORY