Apa itu Vue? — Vue

Vue.js adalah framework JavaScript progresif untuk membangun user interface. Dibuat oleh Evan You (mantan Google) tahun 2014, Vue terkenal sebagai "React yang…

Vue adalah framework JavaScript untuk membangun tampilan web. Kamu menulis datanya dan bentuk tampilannya, lalu Vue yang menjaga halaman supaya selalu cocok dengan datanya. Bayangin papan harga digital di Warung Bu Sri. Bu Sri cukup mengganti harga es teh di buku kasir, dan papan di depan warung ikut berganti sendiri. Gak ada yang naik tangga buat mengecat ulang angkanya. Di Vue, buku kasirnya adalah data, papannya adalah halaman, dan yang mengganti papan itu Vue. Sepanjang track Vue ini kita membangun satu contoh yang sama: menu dan keranjang Warung Bu Sri.

🧪 Tebakan cepat: Harga es teh disimpan di const harga = ref(5000) dan tampil lewat <span>Rp{{ harga }}</span>. Satu baris di script menjalankan harga.value = 5500. Perlu nulis kode tambahan supaya <span>-nya ikut berubah? Tebak dulu, jawabannya ada di bagian "Data berubah, tampilan ikut".

Tanpa Vue: kamu yang mengurus DOM

Dengan JavaScript biasa, mengubah data dan mengubah halaman adalah dua pekerjaan terpisah:

let harga = 5000
const span = document.querySelector("#harga")
span.textContent = "Rp" + harga

function naikkanHarga() {
  harga = harga + 500
  // lupa baris ini, layarnya tetap Rp5000
  span.textContent = "Rp" + harga
}

Dengan Vue: tulis data dan template

Di Vue, satu bagian tampilan beserta datanya disebut komponen. Begini komponen papan harga di editor latihan BelajarWeb.dev:

const harga = ref(5000)

function naikkanHarga() {
  harga.value = harga.value + 500
}

---template---
<h2>Warung Bu Sri</h2>
<p>Es Teh: <span id="harga">Rp{{ harga }}</span></p>
<button @click="naikkanHarga">Naikkan harga</button>

Data berubah, tampilan ikut

Kejadian harga.value Yang tampil di <span>
Halaman pertama tampil 5000 Rp5000
Klik Naikkan harga 5500 Rp5500
Klik lagi 6000 Rp6000

Gak perlu kode tambahan. Itu jawaban tebakannya. Waktu template ditampilkan pertama kali, Vue mencatat bahwa komponen ini membaca harga. Begitu harga.value berubah, Vue menjalankan template-nya lagi, membandingkan hasilnya dengan halaman, lalu cuma mengganti bagian yang beda: teks di <span>. Kemampuan ini namanya reaktivitas (reactivity): data berubah, tampilan ikut. Kalau harga dipakai di tiga tempat, ketiganya diperbarui sekaligus.

createApp dan mount di proyek sungguhan

Di editor latihan, BelajarWeb.dev yang memasang komponenmu ke halaman. Di proyek sungguhan (dibuat dengan npm create vue@latest), kamu yang memasangnya di main.js:

// main.js
import { createApp } from "vue"
import App from "./App.vue"

createApp(App).mount("#app")
<!-- index.html -->
<div id="app"></div>

Siapa yang bikin Vue, dan kenapa dipakai

⚠️ Jebakan yang sering ketemu

TL;DR: Vue adalah framework JavaScript buatan Evan You (2014) untuk membangun tampilan dari komponen. Komponen punya script (data dan fungsi) dan template (HTML plus sintaks Vue). const harga = ref(5000) membuat data reaktif: di script dibaca lewat harga.value, di template cukup {{ harga }}. Begitu datanya berubah, Vue memperbarui bagian halaman yang membacanya, tanpa kamu menyentuh DOM. Itu reaktivitas. Di proyek sungguhan, aplikasi dibuat dan dipasang dengan createApp(App).mount("#app"), dan selector-nya wajib pakai #. Di editor latihan, tulis script, garis ---template---, lalu template, tanpa baris import.

Yang akan kamu pelajari