Front ja back end

Allikas: Vikipeedia

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 | muuda lähteteksti]

  • 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 | muuda lähteteksti]

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 | muuda lähteteksti]

  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.