Vue.js는 2014년 Evan You가 만든 점진적 JavaScript 프레임워크다. 가볍고 직관적인 API로 빠르게 학습할 수 있으며, 소규모부터 대규모까지 유연하게 사용된다.
기본 구조
vue
<!-- MyComponent.vue -->
<template>
<div>
<h1>{{ title }}</h1>
<input v-model="message" placeholder="메시지 입력">
<p>입력값: {{ message }}</p>
<button @click="greet">인사하기</button>
<ul>
<li v-for="item in items" :key="item.id">
{{ item.name }}
</li>
</ul>
</div>
</template>
<script setup>
import { ref, computed } from 'vue'
const title = ref('Hello Vue!')
const message = ref('')
const items = ref([
{ id: 1, name: 'Apple' },
{ id: 2, name: 'Banana' }
])
function greet() {
alert(`Hello, ${message.value}!`)
}
</script>
<style scoped>
h1 { color: #41b883; }
</style>
javascript
import { ref, computed, watch } from 'vue'
const count = ref(0)
const doubled = computed(() => count.value * 2)
watch(count, (newVal, oldVal) => {
console.log(`${oldVal} → ${newVal}`)
})
count.value++ // 모든 의존성 자동 업데이트
| 항목 | React | Vue | Angular |
|---|
| 타입 | 라이브러리 | 프레임워크 | 풀 프레임워크 |
| 학습 곡선 | 중간 | 낮음 | 높음 |
| 번들 크기 | 작음 | 작음 | 큼 |
| TypeScript | 선택 | 선택 | 기본 |
관련 개념
- •JavaScript — Vue의 기반
- •TypeScript — Vue 3 완전 지원
- •SPA — Vue로 구현하는 단일 페이지 앱
참고문헌