Gambaran besar
Hampir setiap aplikasi yang akan kamu bangun terdiri dari empat bagian yang saling berkomunikasi:
- — apa yang dilihat dan diklik pengguna. Layar, tombol, dan teks di dalam browser atau aplikasi ponsel.
- — logika yang berjalan di server yang kamu kendalikan. Ia menegakkan aturan, melakukan pekerjaan, dan memutuskan siapa yang boleh melakukan apa.
- — tempat informasi disimpan agar besok masih ada. Akun, postingan, pesanan.
- Hosting — komputer-komputer, di suatu tempat di dunia luar, yang benar-benar menjalankan semua hal di atas supaya orang lain bisa mengaksesnya.
Begini cara mereka saling terhubung:
┌──────────────┐ request ┌──────────────┐ query ┌──────────────┐
│ │ ─────────────────────▶ │ │ ──────────────────▶ │ │
│ FRONTEND │ │ BACKEND │ │ DATABASE │
│ (browser) │ ◀───────────────────── │ (server) │ ◀────────────────── │ (storage) │
│ │ response │ │ rows │ │
└──────────────┘ └──────────────┘ └──────────────┘
what you see the rules + logic where data lives
└──────────────────────────── all of this runs on HOSTING ───────────────────────────────────┘
Frontend tidak pernah berbicara langsung dengan database. Ia selalu melewati backend, tempat aturan-aturan berada. Fakta tunggal ini menjelaskan banyak hal tentang bagaimana aplikasi dibangun — dan kenapa "biarkan saja halamannya membaca database" hampir tidak pernah jadi jawaban yang benar.