Polemik Frontend dan Backend

Standard

Bagi yang berkecimpung di dunia web development pasti udah sangat familiar dengan istilah frontend backend. Baik client maupun teammate sering menggunakan istilah ini untuk menjelaskan struktur website. Berdasarkan pengalaman gue, istilah frontend backend ini punya penafsiran yang berbeda-beda setidaknya dari tiga perspektif. Apa aja itu?

Persepektif Client

Client umumnya hanya bisa memahami suatu website dari apa yang bisa mereka lihat. Bagian yang bisa dilihat ini dibagi dua bagian: bagian yang bisa dilihat oleh semua orang, dan bagian yang hanya bisa dilihat oleh mereka sendiri. Dalam hal ini, bagi client frontend adalah bagian yang bisa dilihat oleh mereka dan user / customer mereka sedangkan backend adalah bagian dimana cuma mereka yang bisa melihatnya, atau lebih sering disebut Admin Page atau CMS.

Perspektif Developer

Karena developer cenderung melihat dari sisi teknisnya, maka bagi developer frontend adalah segala sesuatu yang dapat dilihat oleh user (client dan customernya) atau biasa disebut presentation layer. Disini tempat teknologi HTML, CSS, dan Javascript berkuasa.

Sedangkan backend adalah tempat data yang dikirimkan dari user (frontend) diproses, diolah, dan kemudian disimpan ditempat penyimpanan yang disebut database. Sebagai contoh, proses login membutuhkan user memasukkan username dan password yang kemudian dikirimkan ke backend untuk dicek apakah username dan password benar atau tidak dan memberikan respon balik ke frontend. Teknologi yang digunakan disini ada banyak, ada PHP, Java, Python, Ruby, dan masih banyak lagi.

Perspektif System Architect

System Architect adalah orang technical yang biasa melihat sistem dalam skala yang lebih besar melalui helicopter view. Kalo developer melihat frontend dan backend adalah bagian dari website atau aplikasi, maka dalam skala yang lebih besar System Architect mendefinisikan frontend dan backend sebagai dua sistem yang berbeda.

Dalam hal ini, frontend didefinisikan sebagai user-facing system, atau sistem yang berhubungan atau berinteraksi langsung dengan user. Sedangkan backend adalah sistem yang berinteraksi dengan sistem lainnya.

Sebagai contoh, pada saat kita mengisi pulsa dari internet banking, sistem internet banking akan mengirimkan pesan ke sistem Payment Gateway, dan selanjutnya Payment Gateway ini berkomunikasi dengan sistem topup engine yang ada dalam telco operator untuk melakukan topup pulsa ke nomor handphone user. Dalam kasus ini, internet banking adalah frontend, sedangkan Payment Gateway dan Topup Engine adalah backend.

Itulah 3 perspektif yang umumnya ada dalam website / application development. So, kalo nanti terlibat diskusi yang mengunakan istilah frontend dan backend ini, pastikan dulu perspektif siapa yang digunakan sebelum berargumen biar ga miskomunikasi.

3 thoughts on “Polemik Frontend dan Backend

  1. Novan Adrian

    NodeJS itu kabar baik buat frontend developer dan bikin switching context antara backend dan frontend jadi lebih mudah karena bahasanya sama. Salam kenal juga, blog tumblr nya bagus! 🙂

Leave a Reply