Frontend, backend, database, hosting
Mari kita masuk satu lapisan lebih dalam, memakai contoh kita: seorang pengguna mengklik "Save profile."
. Aplikasi yang terlihat, berjalan di browser web atau sebagai aplikasi ponsel. Ia menggambar form, memperhatikan klik, dan mengumpulkan apa yang diketik pengguna. Secara desain, frontend itu tidak dipercaya: siapa pun bisa membukanya, memeriksanya, dan mengubahnya. Jadi tugasnya adalah terlihat bagus dan terasa responsif, bukan menegakkan apa pun yang penting.
. Saat tombol diklik, frontend mengirim data ke backend — kode yang berjalan di server. Backend memeriksa apakah pengguna sudah login, memvalidasi data ("apakah ini benar-benar alamat email?"), menerapkan aturan bisnis, dan baru setelah itu menyimpannya. Di sinilah kepercayaan berada, karena pengguna tidak bisa mengutak-atiknya.
. Backend menyerahkan data ke database untuk disimpan. Bukan kotak ajaib — anggap saja sebagai kumpulan spreadsheet yang sangat ketat (disebut tabel) yang bisa dicari secara instan dan tidak pernah lupa. Besok, backend akan membaca kembali profil itu untuk ditampilkan lagi.
Hosting. Di produksi, tidak ada satu pun dari ini yang berjalan di laptopmu. Semuanya berjalan di komputer sewaan dari penyedia hosting seperti Cloudflare, Vercel, atau sebuah platform cloud. Hosting adalah yang membuat aplikasimu bisa diakses di alamat web yang sungguhan, bukan hanya di mesinmu sendiri.
Sebuah insting yang berguna: ketika ada yang rusak, tanyakan lapisan mana. "Tombolnya tidak melakukan apa-apa" adalah frontend. "Yang tersimpan salah" biasanya backend. "Data saya hilang" mengarah ke database. Menyebutkan lapisannya adalah separuh dari cara memperbaiki bug — dan separuh dari cara menulis yang bisa ditindaklanjuti AI.