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 기반 프레임 워크 ▶ 학습에 대해 상대적으로 쉬움
- 컴포넌트 기반이므로 재사용하기에 용이
- 작은 규모의 프로그램을 제작할 때, 가독성이 좋음
'IT > CS' 카테고리의 다른 글
[Network] TCP/IP 프로토콜 (0) | 2021.06.01 |
---|---|
[Container] 가상 머신과 컨테이너(feat. Docker) (0) | 2021.06.01 |
[프로그래밍 언어] C++과 JAVA (0) | 2021.05.30 |
[DB] 데이터베이스 기초 (0) | 2021.05.27 |
[Java] String vs StringBuilder vs StringBuffer (0) | 2021.04.28 |