Front-End vs Back-End vs Kendali-Stack Web Development

Pengembangan web bukan hanya satu hal. Ini mencakup banyak keahlian, dan ada berbagai jenis karir dalam ruang pengembangan web. Tiga istilah yang sering digunakan adalah "front end," "back end," dan "full stack." Berikut adalah perbedaan utama antara ketiganya.

Pengembangan Web Bagian Depan

Pengembangan front-end , sementara komponen-komponennya selalu berubah, pada dasarnya berhubungan dengan bagian-bagian luar dari situs web atau aplikasi web.

Pada intinya, pengembangan front-end melibatkan HTML, CSS, dan JavaScript.

Secara umum, ujung depan dikaitkan dengan tata letak dan prinsip desain. Namun, pengembang front-end belum tentu desainer.

Pada dasarnya, pengembang front-end membangun tampilan luar - halaman situs web yang dilihat pengguna. Ini berarti bahwa pengembang front-end harus mempertimbangkan pembacaan dan kegunaan dari situs dan / atau aplikasi.

Selain itu, ujung depan berjalan pada klien - yang berarti komputer lokal pengguna - dalam banyak kasus, browser web.

Dan informasi tidak disimpan di sisi klien.

Pengembangan Web Back-End

Pengembangan web back-end adalah apa yang terjadi di belakang layar. Bagian belakang memungkinkan pengalaman front-end.

Untuk mempermudah, pikirkan tentang bagian depan sebagai bagian dari gunung es di atas air. Inilah yang dilihat pengguna - situs yang tampak ramping.

Bagian belakang adalah sisa es; tidak dapat dilihat oleh pengguna akhir, tetapi itu adalah elemen paling mendasar dari aplikasi web. Bagian belakang berjalan di server, atau, seperti sering disebut, "sisi server".

Tidak seperti pengembangan front-end (yang terutama menggunakan HTML, CSS, dan JavaScript), pengembangan web back-end dapat bergantung pada berbagai bahasa dan kerangka kerja.

Beberapa bahasa populer yang digunakan di bagian belakang meliputi:

Namun, agar situs web dan aplikasi web skala besar dapat berfungsi, itu lebih dari sekadar bahasa dan kerangka back-end. Semua informasi di situs web atau aplikasi harus disimpan di suatu tempat.

Di sinilah database masuk. Pengembang back-end juga menangani ini.

( Catatan : Anda dapat membangun sebuah situs web tanpa database dengan hanya menggunakan HTML dan CSS. Ini akan menjadi situs statis dan akan jauh lebih fleksibel. Namun, situs yang bergantung pada informasi untuk dibuat secara dinamis - Facebook, Yelp, apa pun situs e-commerce - membutuhkan database.)

Database populer meliputi:

Biasanya bahasa / kerangka back-end tertentu memerlukan database tertentu. Sebagai contoh, kerangka stack penuh MEAN memerlukan MongoDB.

Selain mengetahui bahasa / kerangka back-end dan menjalankan basis data, pengembang back-end juga harus memiliki pemahaman tentang arsitektur server.

Menyiapkan server dengan benar memungkinkan situs berjalan cepat, tidak macet, dan tidak memberikan kesalahan kepada pengguna. Ini berada di bawah domain pengembang back-end karena sebagian besar kesalahan terjadi di bagian belakang, bukan ujung depan.

Tumpukan Penuh

Ya, Anda dapat menebaknya: Full stack adalah kombinasi dari kedua ujung depan dan ujung belakang.

Pengembang full-stack adalah jack-of-all-trade. Mereka bertanggung jawab untuk semua tingkat pengembangan, dari bagaimana server diatur ke CSS terkait desain.

Hari-hari ini, ada begitu banyak yang masuk ke pengembangan web yang hampir tidak mungkin untuk menangani kedua sisi. Meskipun banyak orang dapat mengklaim sebagai tumpukan penuh, atau faktanya, mereka biasanya lebih fokus pada satu sisi: klien atau server. (AKA bagian depan atau ujung belakang.)

Di perusahaan / startup yang lebih kecil, satu orang akan lebih mungkin bertanggung jawab untuk semua sisi spektrum pengembangan web. Namun, di perusahaan besar, orang bekerja dalam tim dan memiliki peran khusus - satu fokus hanya pada arsitektur server, yang lain (atau beberapa orang) di bagian depan, dll.

Kesimpulan

Pengembangan web memiliki banyak wajah, dan berkembang setiap hari. Banyak yang harus dipelajari, tetapi jangan merasa tertekan untuk mempelajari semuanya sekaligus. Ingat, di lingkungan kerja, Anda biasanya berada di tim bersama orang lain. Fokus pada mengasah keterampilan Anda dalam satu aspek pengembangan web dalam satu waktu. Jangan merasa kewalahan, dan Anda akan menjadi seorang profesional sebelum Anda menyadarinya.