Anda mendesain hal-hal ujung depan ketika Anda merancang sistem yang berinteraksi dengan klien dari sistem Anda. Perhatikan di sini kata klien cukup besar tetapi pada dasarnya berarti Anda bekerja di ujung depan saat Anda menyediakan antarmuka ke dunia luar.
Sebagian besar situs web hanya ujung depan, yaitu mereka memberikan informasi kepada dunia luar dan seringkali informasi ini dapat disimpan cukup sederhana sebagai teks dalam file HTML.
Anda merancang ujung belakang saat Anda perlu memberikan layanan dan merangkum fungsionalitas yang akan dikonsumsi ujung depan Anda. Ini memungkinkan untuk memindahkan beberapa beban kerja dari klien (front-end) ke server (back-end). Anda akan melakukan ini dalam kasus ketika Anda perlu mengoordinasikan informasi dari klien yang berbeda yang dapat mengakses sistem Anda secara bersamaan. Atau jika Anda perlu menggunakan repositori data pusat untuk menyusun data dinamis, atau lagi jika Anda memerlukan persyaratan keamanan tertentu. Daftar ini sama sekali tidak lengkap, hanya contoh cepat.
jadi singkatnya, Front-end (klien) akan menyajikan informasi kepada dunia luar. Biasanya ini adalah manusia melalui semacam GUI baik HTML atau lainnya.
Back end akan menyediakan sarana untuk memusatkan layanan agar front-end Anda dapat digunakan. Menggunakan back-end tidak wajib dan menambah kompleksitas ke sistem, tetapi memungkinkan untuk mengelola kompleksitas yang melekat pada sistem yang Anda coba untuk membangun dengan lebih baik.
Sebagai contoh adalah mungkin untuk menyediakan layanan seperti wiki hanya melalui front end tetapi akan memiliki banyak keterbatasan yang menggunakan back-end untuk menyimpan data dan menyajikannya ke front-end akan menyelesaikan dengan cara yang lebih alami.