MVC (Model View Controller)
; Model, View, Controller 3가지 구성 요소로 이루어진 디자인 패턴입니다.

장점
각각의 구성 요소에만 집중해서 개발 가능합니다.
단점
애플리케이션 복잡해질수록 Model, View 관계가 복잡해집니다.
Model
- Database, 상수, 변수 등 Data
- View에서 Data 생성 및 수정 → Controller 통해 Model 생성 및 갱신
View
- 사용자 인터페이스(사용자가 볼 수 있는 화면)
- Model의 정보 따로 저장 X. 화면에 표시하는 정보만 가지도록 구성
- 변경 발생 시 Controller에 전달
Controller
- 하나 이상 Model과 View를 잇는 다리 역할
- 이벤트 등 Main Logic
- Model, View의 생명주기 관리
- Model, View의 변경 통지 시, 해석해 각각에 Inform
대표적인 라이브러리
React.js - UI 구축 라이브러리
특징
- 가상 DOM(Virtual DOM)을 통해 실제 DOM을 조작해 성능을 높였습니다.
- 불변성
ex)
state : setState로만 수정 가능
pureComponent : props(=properties) 기반으로 만들어지는 컴포넌트
- 단방향 바인딩
- 자유도 높음
- 메타(facebook)가 운영. netflix, twitter, dropbox, uber, paypal, ms 등에서 사용