티스토리 뷰
1) Vue.js 소개
Vue.js란?
Vue.js는 웹 페이지 화면을 개발하기 위한 프런트엔드 프레임워크
기존 웹 개발자뿐만 아니라 HTML, CSS, 자바스크립트 기초만 아는 웹 개발 입문자 및 컴퓨터 비전공자들도 배우기 쉬움
뷰는 화면단 라이브러리이자 프레임워크라고 볼 수 있음
뷰 코어 라이브러리 : 화면단 데이터 표현에 관한 기능들을 중점적으로 지원
+ 프레임워크 기능인 라우터, 상태관리, 테스팅 등을 쉽게 결합할 수 있는 형태로도 제공됨
즉, 라이브러리 역할뿐만 아니라 프레임워크 역할도 할 수 있다는 의미
뷰를 점진적인 프레임워크(progressive framework)로 부르고 있음
뷰의 장점
1) 배우기 쉬움
2) 리액트와 앵귤러에 비해 성능이 우수하고 빠름
3) 리액트의 장점과 앵귤러의 장점을 가짐 : 앵귤러의 데이터 바인딩 특성 + 리액트의 가상 돔(Virtual DOM)기반 렌더링 특징을 모두 가짐
2) Vue.js의 특징
UI 화면단 라이브러리
뷰는 UI 화면 개발 방법 중 하나인 MVVM 패턴의 뷰 모델에 해당하는 화면단 라이브러리
MVVM 패턴 : 모델(Model) - 뷰(View) - 뷰모델(ViewModel)로 구조화하여 개발하는 방식
화면의 요소들을 제어하는 코드와 데이터 제어 로직을 분리하여 코드를 더 직관적으로 이해할 수 있고, 유지보수가 편해짐
용어 | 설명 |
뷰 ( View ) | 사용자에게 보이는 화면 |
돔 ( DOM ) | HTML 문서에 들어가는 요소(태그, 클래스, 속성 등)의 정보를 담고 있는 데이터 트리 |
돔 리스너 ( DOM Listener ) | 돔의 변경 내역에 대해즉각적으로 반영하여 특정 로직을 수행하는 장치 |
모델 ( Model ) | 데이터를 담는 용기. 보통은서버에서 가져온 데이터를 자바스크립트 객체 형태로 저장 |
데이터 바인딩 ( Data Binding ) | 뷰(View)에 표시되는 내용과 모델의 데이터를 동기화 |
뷰 모델 ( ViewModel ) | 뷰와 모델의 중간 영역. 돔 리스너와 데이터 바인딩을 제공하는 영역 |
컴포넌트 기반 프레임워크
뷰의 특징 : 컴포넌트(Component) 기반 프레임워크
컴포넌트란 마치 레고 블록과 같음. 레고 블록을 잘 조합해서 쌓으면 원하는 모형을 만들 수 있듯이, 뷰의 컴포넌트를 조합해 화면을 구성할 수 있음
왼쪽 => 각 영역을 컴포넌트로 지정하여 구분한 것
오른쪽 => 각 컴포넌트 간의 관계를 나타낸 것
컴포넌트 기반 방식으로 개발하는 이유 : 코드를 재사용하기 쉽기 때문
리액트와 앵귤러의 장점을 가진 프레임워크
뷰 : 앵귤러 양방향 데이터 바인딩의 장점 + 리액트의 단방향 데이터 흐름의 장점 모두 결합
양방향 데이터 바인딩 : 화면에 표시되는 값과 프레임워크 모델 데이터 값이 동기화되어 한쪽이 변경되면 다른 한쪽도 자동으로 변경
단방향 데이터 흐름 : 컴포넌트의 단방향 통신을 의미. 컴포넌트 간에 데이터를 전달할 때 상위 컴포넌트에서 하위 컴포넌트 한 방향으로만 전달하게끔 구조화되어 있는게 단방향 데이터
가상 돔 렌더링 방식 : 빠른 화면 렌더링을 위함. 가상돔을 활용하면 특정 돔 요소를 추가하거나 삭제하는 변경이 일어날 때 화면 전체를 다시 그리지 않고 프레임워크에서 정의한 방식에 따라 화면을 갱신함 => 브라우저 입장에서 성능 부하가 줄어 일반 렌더링보다 빠르게 화면을 그릴 수 있음
'Language > Vue.js' 카테고리의 다른 글
[do it! Vue.js 입문] 03-3. 뷰 컴포넌트 통신 (0) | 2024.05.15 |
---|---|
[do it! Vue.js 입문] 03-2. 뷰 컴포넌트 (0) | 2024.05.11 |
[do it! Vue.js 입문] 03-1. 뷰 인스턴스 (1) | 2024.03.29 |
저장마다 자동으로 새로고침해주는 방법 (0) | 2024.03.21 |
npm run serve (0) | 2024.03.21 |
- Total
- Today
- Yesterday
- 리스트
- 문자열함수
- Date 클래스
- Arrays 클래스
- java.time.package
- 스레드 스케줄링
- 함수
- IndexError
- python
- 포장 클래스
- Format 클래스
- StringBuilder 클래스
- FALSE
- not_in
- 순환할당
- Random 클래스
- Math 클래스
- 파이썬
- StringBuffer 클래스
- Objects 클래스
- Calendar 클래스
- 기본 API 클래스
- 자료형
- Pattern 클래스
- StringTokenizer 클래스
- 프로그램
- 리스트연산자
- 역반복문
- 요소선택
- 딕셔너리
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |