Hal penting dari sebuah situs adalah sistem kerjanya. Salah satunya bagaiamana cara menghubungkan Backend dan Frontend. Sebelum lebih jauh membahas itu, perlu dipahami pengertian keduanya. Pada prinsipnya baik backend maupun frontend merupakan dua hal yang tidak terlepas satu sama lain dalam membentuk website.
Singkatnya, adalah semua hal atau sistem dibalik sebuah situs/server. Sedangkan, frontend merupakan perihal tampilan kasat mata dari sebuah website yang dapat dilihat pengunjung. Berikut dijelaskan perbedaan sistem kerja keduanya.
Seorang pengembang frontend bertugas atas perpaduan tampilan sebuah web dan applications. Misalnya: isi content, warna-warni huruf, gambar, serta bagaiamana menyakinkan para pengunjung betah, nyaman. Selain itu, bagaiwana tata letak menu agar memudahkan visitors memahami setiap item. Sedangkan pengembang backend bekerja untuk mengontrol server, system, dan pusat data. Pilihan coding bidang tersebut biasanya PHP, Ruby, Python.
Pengembang “beranda depan” harus mempelajari tiga Bahasa coding antara lain: JavaScript, HTML, CSS. Tentu tidak terbatas ketiga Bahasa ini. Jika mampu mendalami lebih akan lebih baik, tentu peluang menjadi frontend lebih tinggi. Kemampuan lain adalah penguasaan terhadap framework serta library. Framework rujukan adalah Angular.js atau React.js.
Sedangkan kemampuan backend adalah memahami Bahasa coding di “belakang layar”. Umumnya ada dua yaitu framework dan library yang dapat dipelajari dalam GO, C#, Express, Djanggo. Selain keempat Bahasa tersebut seorang backend harus mampu juga mendalami MYSQL, SQL Server, serta Oracle.
Praktisnya pengembang front end akan beraksi setalah UX Designer membereskan tugasnya. Jika tidak ada hal yang harus diubah dari sisi desain maka developer ini dapat langsung mengeksekusi Bahasa pemrogramannya user interface. Selanjutnya jika pada tahap pekerjaan dari frontend rampung maka backend dapat mulai bekerja. Pengembang memutuskan pemakaian instruksi apa akan dipakai pada design dan coding yang dipakai.
Perbedaan terakhir adalah status ketika bekerja di sebuah perusahan tertentu. Sekalipun tidak terpisahkan namun keduanya tidak disatukan. Artinya seseorang dianjurkan tidak bekerja sekaligus sebagai backend maupun frontend.
Dalam kenyataan, beberapa perusahan hanya membutuhkan satu orang untuk dua bidang ini yang biasa disebut sebagai full stack developer atau pengembang rangkap.
Sebelumnya ke langkah praktis, penting diketahui apa saja yang dibagikan antara keduanya. Penjelasan berikut mungkin akan berbeda tetapi ini hampir 99% sama dengan pedomaan umumnya. Backend umumnya respond pada the HTTP body misalnya:
Sedangkan Frontend mengirim:
Ketika browser meminta seperti hal ini http://contoh.com/style.css, biasanya dikendalikan oleh server web dari backend. Permintaan itu adalah sebuah GET for that resource dan merespon dengan sebuah jawaban berisi content of the file. Beberapa static files dapat dilayani oleh aplikasi web itu sendiri. Tetapi biasanya itu terjadi pada keadaan buruk karena server web sangat cepat menjalankan tugasnya.
Tahap berikut adalah soal meminta dynamic content. Dari sisi browser tetap saja sama seperti meminta static content. Browser tidak peduli bagian backend mana yang akan menghandle permintaaan. Hanya butuh jawaban segera, “sekarang”.
Permintaan-permintaan sampai server, dilanjutkan pada server web juga server web menangani permintaan terhadap aplikasi server. Dalam konteks ini Django.
Setelah itu, Django mendapatkan permintaan serta memprosesnya lalu mengecek beberapa data dalam database lalu memberikan jawaban.
Tahap lain, misalnya dengan JavaScript memasukan gambar pada frontend. The returned HTML berisi JS code dalam sebuah script tag. Browser akan memberikan halaman dan mulai mengeksekusi JS Code. Dalam tahap ini, code hanya menyiapkan beberapa interaktivitas.
JS Code dapat meminta lebih banyak permintaa untuk dikirimkan ke backend. Fresh data dapat diminta dengan cara demikian dan JS Code menangani hal ini tanpa melakukan pemuatan ulang secara lengkap. Permintaan terhadap HTTP yang disebabkan JS Code biasanya dibuat di latar belakang.
Sekarang sampai wilayah kerangka kerja JS. Sebenarnya masih sama dengan sebelumnya. Namun template dikembalikan belum tentu lengkap. Sebaliknya, tahap ini berisi JS Code yang bertugas dalam mengisi bagian kosong. HTML tertampil kepada pengguna bukanlah HTML yang keluar dari server. Browser akan menangani JS code setelah halaman muncul.
Dengan single page architecture, static page dimuat dengan banyak JS di dalamnya. Kode backend tidak dipakai pada permintaan ini. Setelah HTML, JS sampai di browser, JavaScript dijalankan lalu mulai meminta permintaan ke server demi mendapatkan data. Inilah tugas dari backend.
Pada kasus halaman kosong, sebenarnya itu hal yang tidak membantu dalam penemuan situs oleh mesin pencari. Inilah manfaat rendering side server. Cara kerjanya kurang lebih seperti berikut: salah satu bagian dari backend dimanipulasi menjadi mesin pencari. Hal itu mengkibatkan adanya permintaan ke “bagian belakang” untuk membangun situs HTML dengan melakukan eksekusi bagian JS dari Frontend Code.
Demikianlah beberapa tips dasar bagaiamana hubungan antara backend dan frontend. Jika ingin memperdalam lebih lanjut tentang kedua hal ini, ayo segera temukan kelasnya di Genius Education.