[Vue.js] Vue.js란?
Vue.js란?
Vue.js는 웹 애플리케이션의 사용자 인터페이스를 만들기 위해 사용하는 오픈 소스 프로그레시브 자바스크립트 프레임워크이다. 다른 자바스크립트 라이브러리를 사용하는 웹 애플리케이션 프로젝트에 Vue.js를 도입하기 쉽게 설계되어 있는데, 이는 Vue.js가 점진적으로 채택할 수 있게 설계되어 있기 때문이다. 한편 Vue.js는 고성능의 싱글 페이지 애플리케이션(SPA)을 구축하는데 이용 가능하다. 여기서 프로그레시브라는 것은 웹과 네이티브 앱의 이점을 모두 수용하고 표준 패턴을 사용해 개발 된 것을 뜻한다.
주요 특징
SPA (Single Page Application)
싱글 페이지 애플리케이션(single-page application, SPA, 스파)은 서버로부터 완전한 새로운 페이지를 불러오지 않고 현재의 페이지를 동적으로 다시 작성함으로써 사용자와 소통하는 웹 애플리케이션이나 웹사이트를 말한다.
MVVM패턴 (Model-View-ViewModel)
모델-뷰-뷰 모델(model-view-viewmodel, MVVM)은 하나의 소프트웨어 아키텍처 패턴으로-마크업 언어 또는 GUI 코드로 구현하는-그래픽 사용자 인터페이스(뷰)의 개발을 비즈니스 로직 또는 백-엔드 로직(모델)로부터 분리시켜서 뷰가 어느 특정한 모델 플랫폼에 종속되지 않도록 해준다.
MVVM 패턴은 모델(Model)과 뷰(View) 사이에 뷰모델(ViewModel)이 위치하는 구조를 가지고 있다.
DOM이 변경됐을 때, 뷰모델의 DOM Listeners를 거쳐서 모델로 신호가 간다.모델에서 변경된 데이터를 뷰모델을 거쳐서 뷰로 보냈을 때, 화면이 reactive하게 반응이 일어난다.Vue.js 는 reactive한 프로그래밍이 가능하도록 View에서 모든 것을 제어하는 뷰모델 라이브러리이다.
장점
- 직관적이고 배우기 쉽다.
- 재사용을 통한 애플리케이션 개발 기간 단축 및 양질의 코드를 생상할수 있다.
- Angular.js의 양방향 데이터 바인딩 장점을 수용
- React의 가상돔(Virtual DOM) 장점 수용
참고자료
https://ko.wikipedia.org/wiki/Vue.js
https://blinders.tistory.com/111
https://ko.wikipedia.org/wiki/%EB%AA%A8%EB%8D%B8-%EB%B7%B0-%EB%B7%B0%EB%AA%A8%EB%8D%B8