IT/CS

[프레임워크] Vue.js

Terriermon 2021. 5. 31. 13:35

https://cntechsystems.tistory.com/100

Vue.js란?

웹페이지 화면을 개발하기 위한 프런트엔드 프레임워크

- 리액트와 앵귤러의 장점 결합 ▶ 앵귤러의 양방향 데이터 바인딩 + 리액트의 단방향 데이터 흐름의 장점 결합

양방형 데이터 바인딩
데이터의 변화를 템플릿에 결합하여 화면을 업데이트 한 후, 화면 입력에 따라 데이터를 업데이트 하는 개념

단반향 데이터 흐름
모델 컴포넌트에서 UI컴포넌트로 데이터가 흘러 이해와 관리가 쉬움

 

Vue.js 특징

- 간편한 문법, 쉬운 사용법

- 기존 HTML 템플릿을 그대로 활용 ▶ 컴포넌트에서 다루는 CSS 기존 문법 그대로 사용

- 확장성 ▶ 다양한 라이브러리 및 프레임워크 사용

- Virtual DOM

DOM이란?
- Document Object Model의 약자
- HTML문서의 각 요소(li, head 등의 태그)에 접근하고 사용할 수 있도록하는 트리 구조의 객체 모델

Virtual DOM이란?
- 기존 DOM의 속도, 잦은 오류 등의 단점을 보완하기 위해 나온 개념
- 실제 DOM 문서를 추상화하여 변화가 자주 일어나는 View를 Virtual DOM과 메모리에서 미리 처리한 후, 실제 DOM과 동기화 하는 프로그래밍 개념

- 실제 DOM보다 가볍고 빠른 랜더링이 가능 ▶ DOM의 부담 감소
- 실제 DOM과 Virtual DOM의 구조상 큰 차이가 없음

- MVVM 패턴

MVVM 패턴이란?
https://velog.io/@k7120792/Model-View-ViewModel-Pattern
- Model, View, ViewModel로 이루어진 디자인 패턴
- View ➡ ViewModel ➡ Model 단반향 구조
- ViewModel과 Model이 View로부터 독립적인 형태
- UI로부터 비즈니스 로직과 프레젠테이션 로직 분리

장점
- ViewModel이 Model과 View 사이의 어댑터가 되어 변경이 생겼을 때, 변경을 최소화
- Model과 ViewModel이 View로부터 독립적 ▶ 플랫폼 독립적 개발, 쉬운 테스트
- 개발자와 디자이너의 병렬적 작업

View
- UI에 관련된 것을 다룸
- 구조, 레이아웃, 형태 등

ViewModel
- View가 사용할 메서드와 필드 구현 ▶ View에게 상태 변화를 알림(옵저빙)
- View가 쉽게 사용할 수 있도록 모델의 데이터를 가공하여 View에게 제공
- View와 Model의 1:N 관계 형성

Model
- 앱에서 사용할 데이터와 관련된 행위, 데이터를 다룸

- 컴포넌트 기반 프레임 워크

 

Vue.js를 사용한 이유

- javascript 기반 프레임 워크 ▶ 학습에 대해 상대적으로 쉬움

- 컴포넌트 기반이므로 재사용하기에 용이

- 작은 규모의 프로그램을 제작할 때, 가독성이 좋음