Informaatikas mõistetakse terminit front-end kui (graafilist) vaadet, mida näeb lõppkasutaja ja terminit back-end kui seda, mis toimub telgitagustes (andmetabelites jm). Kliendi-serveri mudelis peetakse klienti (ehk lõppkasutajavaadet) tavaliselt front-end'iks ja serverit back-end'iks, isegi kui mõningaid vaateid näidatakse kliendile serveris endas.
Tarkvaraarhitektuuris võib olla riistvara ja lõppkasutaja (kliendi) vahel mitu kihti. Front-end on kuvand (abstraktsioon), mis muudab sisimas oleva riistvara kasutajasõbralikuks, samal ajal back-end haldab kogu seda süsteemi, tegeleb loogika ja andmete salvestamisega.
Telekommunikatsioonis võib pidada front-endiks seadet või teenust, samal ajal back-end on infrastruktuur, mis toetab seda teenuse pakkumist.
Rusikareegel on see, et kliendi osa (front-end) on kasutaja poolt mõjutatav komponent. Serveri osa (back-end) asub tavaliselt serveris, mis asub kliendist eemal ning millega tegelevad tavaliselt programmeerijad.
Definitsioonid
Veebikülje (e saidi) sisuhaldussüsteemides (Content Management System (CMS)) viitavad terminid front-end ja back-end vastavalt lõppkasutaja vaatele ja sisuhaldaja vaatele.[1]
Kõnesünteesis osutab front-end kõnesünteesi osale, mis teisendab sisendteksti foneetiliseks transkriptsiooniks ja back-end vastavalt konverdib foneetilise transkriptsiooni tegelikeks helideks.[2]
Suure arvutisüsteemi alamsüsteemide jaoks on graafiline failihaldur front-end see, mida sa ekraanil näed ja mille abil midagi teha saad. Back-end on see, mis käivitab arvutis programmid ja operatsioonisüsteemi.
Kompilaatorites tõlgib front-end arvutiprogrammeerimise lähtekoodi vaheesituseks (intermediate representation), back-end võtab selle vastu ning töötab sellega, et väljastada kood arvuti väljundkeeles. Back-end tavaliselt optimeeritakse töötama nii, et koodi oleks võimalik kiiremini kasutada.
Käsurealiidese kasutamine nõuab spetsiifilise terminoloogia omandamist ja käskude meeldejätmist, seega graafiline kasutajaliides (GUI (Graphical User Interface)) töötab kui front-end.
Veebiarendamine kui näide
Veel üks võimalus, kuidas mõista nende kahe erinevust on aru saada, mis teadmisi nõutakse vastavalt front- ja back-end-i arendajalt. Allolev nimekiri keskendub näitena veebiarendusele.
Mõlemad
Versioonihalduse tööriistad nagu näiteks GitHub, SourceForge
Failiedastus programmid nagu näiteks FTP või rsync
Front-end
Märgistus- ja veebikeeled nagu näiteks HTML, CSS, JavaScript ja nendes keeltes kasutatavad abiteegid nagu Sass või JQuery.
Asünkrooniliste päringute käsitlemine ja AJAX
Kasutajaliides (GUI)
Pilditöötlusprogrammid (GIMP või Photoshop)
Otsingumootorija jaoks optimeerimine
Ligipääsetavusega seotud probleemid
Back-end
Programmeerimiskeeled nagu näiteks Node.js, PHP, Python
Kompileeritud keeled nagu näiteks C#, Java
Andmete teisendamine
Tarkvaraarhitektuur
Turvaprobleemid, autentimine ja autoriseerimine
Andmebaaside haldamine
Isegi kui mõlema kihi tarkvaraarendajad võivad töötada ühe projekti kallal, siis oskused, mida neil vaja läheb, on väga erinevad.