関連記事:React vs Vue.js徹底比較
Vue.jsは、Webアプリケーションのフロントエンド開発に使われるJavaScriptフレームワークです。学習しやすさと柔軟性のバランスが良く、日本でも多くの企業で採用されています。
Vue.jsとは
Vue.jsはEvan You氏が開発したプログレッシブフレームワークです。小さなウィジェットから大規模SPAまで、必要に応じて段階的に機能を追加できるのが特徴です。
Vue.jsの特徴
- 学習コストが低い:HTMLに近いテンプレート構文
- リアクティブシステム:データの変更が自動的にUIに反映
- コンポーネント指向:UIを再利用可能な部品に分割
- 豊富なエコシステム:Vue Router、Pinia、Nuxtなどの公式ライブラリ
Vue.js学習のロードマップ
ステップ1:基本のテンプレート構文(2〜3日)
<script setup>
import { ref } from 'vue'
const message = ref('こんにちは')
const count = ref(0)
</script>
<template>
<h1>{{ message }}</h1>
<p>カウント: {{ count }}</p>
<button @click="count++">+1</button>
</template>
ステップ2:リアクティブシステム(3〜5日)
<script setup>
import { ref, computed, watch } from 'vue'
const price = ref(1000)
const quantity = ref(1)
// 算出プロパティ
const total = computed(() => price.value * quantity.value)
// 監視
watch(total, (newVal, oldVal) => {
console.log(`合計が ${oldVal} から ${newVal} に変わりました`)
})
</script>
ステップ3:コンポーネントの基本(3〜5日)
<!-- UserCard.vue -->
<script setup>
defineProps({
name: String,
role: String
})
const emit = defineEmits(['select'])
</script>
<template>
<div class="user-card" @click="emit('select', name)">
<h3>{{ name }}</h3>
<p>{{ role }}</p>
</div>
</template>
ステップ4:Vue Router(2〜3日)
SPAでのページ遷移を管理するルーティングライブラリです。
import { createRouter, createWebHistory } from 'vue-router'
const router = createRouter({
history: createWebHistory(),
routes: [
{ path: '/', component: Home },
{ path: '/about', component: About },
{ path: '/users/:id', component: UserDetail }
]
})
ステップ5:Piniaで状態管理(3〜5日)
アプリケーション全体で共有する状態を管理します。
Web開発技術マップも参考にしてください。
import { defineStore } from 'pinia'
export const useCartStore = defineStore('cart', {
[Tailwind CSS入門](/articles/tailwindcss-nyumon)も参考にしてください。
state: () => ({
items: []
}),
getters: {
totalPrice: (state) =>
state.items.reduce((sum, item) => sum + item.price, 0)
},
actions: {
addItem(item) {
this.items.push(item)
}
}
})
Vue.js vs React:どちらを学ぶべきか
| 観点 | Vue.js | React |
|---|---|---|
| 学習コスト | 低め | やや高い |
| テンプレート | HTML風テンプレート | JSX |
| 国内求人数 | 増加傾向 | 多い |
| エコシステム | 公式が充実 | サードパーティが豊富 |
詳しくはReact vs Vue.js徹底比較をご覧ください。
おすすめ学習リソース
- Vue.js公式ドキュメント:日本語対応で読みやすい
- Vue Mastery:動画で体系的に学べる
- Udemy:ハンズオン形式のコースが豊富
まとめ
Vue.jsは学習しやすさと実用性を兼ね備えたフレームワークです。まずはComposition APIの基本を押さえ、小さなアプリを作りながらVue Router、Piniaと段階的に学んでいきましょう。