Vue.js adalah framework JavaScript progresif untuk membangun user interface. Dibuat oleh Evan You (mantan Google) tahun 2014, Vue terkenal sebagai "React yang lebih ramah pemula" — punya kekuatan komponen + reactivity, tapi sintaks lebih dekat ke HTML klasik. Dipake Alibaba, Xiaomi, GitLab, Nintendo — populer banget di China + Eropa.
💡 Vue gak punya VC backing besar. React = Meta. Angular = Google. Svelte = Vercel. Vue = Evan You + community donations. Bertahan dan tumbuh tanpa corporate sponsor karena developer beneran sayang sama framework ini. Sekarang Vue 3 + Composition API hampir setara React/Solid dari sisi capability.
Kenapa Vue?
- Mudah dipelajari — Syntax intuitif, mirip HTML
- Reaktif — Data berubah, UI otomatis update
- Composition API — Cara modern menulis logika komponen
- Ekosistem lengkap — Router, state management, tooling
Komponen Pertama
const message = ref("Halo Vue!")
---template---
<h1>{{ message }}</h1>
Vue menggunakan template untuk HTML dan script untuk logika. Data reaktif otomatis tersinkron ke template.
🎭 Analogi sehari-hari
Vue = mobil otomatis dengan dashboard intuitif. React = mobil manual, kamu kontrol setiap detail. Angular = pesawat dengan ratusan tombol, powerful tapi steep learning curve. Vue = balance antara dua dunia — kasih kebebasan kayak React, tapi struktur opinionated kayak Angular. Cocok buat tim kecil yang mau cepet bikin app tanpa terlalu banyak keputusan.
⚠️ Jebakan yang sering ditemui
- Options API vs Composition API — Vue 2 vs Vue 3 paradigm. Pelajari Composition API untuk Vue modern
- Ref vs Reactive —
ref()untuk primitive (perlu.value),reactive()untuk object. Sering ketuker - Template vs Render Function — 99% kasus pake template. Render function untuk dynamic component
v-ifvsv-show—v-ifmount/unmount (mahal),v-showcumadisplay: none(murah)- Mutate prop dari child = Vue warning. Pass via emit ke parent
TL;DR: Vue.js = framework progressive untuk UI components. Sintaks intuitif (mirip HTML klasik), reaktif (data berubah → UI auto update), Composition API modern. Single-file component (.vue) gabung template + script + style. Dipake Alibaba/Xiaomi/GitLab. Pilihan ramah pemula yang gak kompromi power.