Front ja back end

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 muuda

  • 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 muuda

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.

Viited muuda

  1. Vimal Thapliyal. "Difference Between Frontend and Backend MVC". Originaali arhiivikoopia seisuga 30. detsember 2016. Vaadatud 28.02.2020.
  2. "L18: Speech synthesis" (PDF). Originaali (PDF) arhiivikoopia seisuga 14. veebruar 2019.