Ova dva izraza se poslednjih godina često mogu čuti u IT sektoru a naročito kad je u pitanju razvoj weba. Tu dolazi do malo nezgodne situacije jer granica između tih izraza nije uvek potpuno jasna. Uglavnom ih koristimo da pojasnimo aspekte web industrije pa se tako front-end odnosi na klijentsku stranu (kao što je web dizajn) dok se za back-end (u daljem tekstu bek-end) web development podrazumeva serverska strana. Iako ovo može da izgleda kao najjednostavnije objašnjenje, granica između dva pomenuta je uglavnom nejasna pa postoje prelazi sa jedne na drugu stranu.

Evo nekih osnovnih smernica koje mogu pomoći da razlikujemo front-end od bek-end developmenta.

Front-end

Front-end bi bilo sve ono što korisnik vidi (vebsajt ili aplikacija) uključujući sam dizajn i opisne jezike HTML, CSS i neretko JS. Postoji mnogo različitih poslova u asocijaciji sa front-end developmentom ali treba imati na umu da ono što jedan poslodavac podrazumeva za front-end drugom poslodavcu može biti premalo ili potpuno suprotno.

Uobičajeni oglasi za front-end poslove se najviše postavljaju kao poslovi web dizajnera, što može da dovede do zaključka da je web dizajner osoba koja je odgovorna za dizajn ili vizuelni izgled sajta. Tako posmatrano web dizajner bi mogao da uradi dizajn sajta u Fotošopu bez ikakvog kodiranja. Tu dolazimo do front-enda koji suštinski daje funkcionalnost dizajnu, jer kada dizajner koristeći ma koji alat uradi određeni dizajn a uz to je i odgovoran da napiše prateće kodove u HTML, CSS i JS dobijamo jedan „statični sajt“.

Statičnim sajtovima nazivamo sajtove napravljene bez bek-end developmenta ili web-developmenta i nije im potrebno skladištenje podataka u baze. Takvi su recimo sajtovi dečijih igraonica, salona lepote, ugostiteljskih objekata ili mnogih partija, sindikata, nevladinih organizacija i državnih organa ili preduzeća na našem području. Takođe u front-end developmentu pored navedenog prepoznajemo User Interface (UI) Designer (dizajner korisničkog interfejsa) kao i User Experience (UX) designer (dizajner korisničkog iskustva).

UI radi na dizajnu korisničkog interfejsa za hardver: personalne računare, tablete, telefone kao i druge aparate i za korisnike odnosno operatere, i fokusira se na što bolju upotrebnu mogućnost kao i na bolje korisničko iskustvo sa ciljem da interakcija korisnika bude što lakša i efikasnija. UX radi na proučavanju i istraživanju iskustava korisnika sajtova ili aplikacija a sve u cilju povećanja efikasnosti kao i zadovoljstva korisnika radi ponovnog korišćena pomenutih sajtova ili aplikacija.

Bek-end (Back-end)

Bek-end podrazumeva serversku stranu, to jest izradu programa koji je zaslužan za rad web sajta ili aplikacije. U bek-end poslovima rade developeri ili programeri koji su zaduženi za sigurnost, strukturu, menadžment datoteka i upravljanje sadržaja dinamičkih sajtova ili aplikacija. Dinamički sajtovi su oni sajtovi koji rade sa bazama podataka od blogova kao na primer kompjuteras.com preko web prodavnica (sa bazama podataka robe, korpe, registrovanih kupaca, magacina, akcijske prodaje i sl) i društvenih mreža Fejsbuk, Gugl+, Tviter itd. do kompleksnijih igara za više igrača baziranih na (koje se igraju na) web pregledaču (multi player browser based online games).

Za rad razvoj u bek-end je poželjno poznavanje ili bar razumevanje mogućnosti opisnih jezika koji se koriste u front-end developmentu mada to nije od presudnog značaja a uglavnom zavisi od veličine projekta koji je potrebno uraditi za poslodavca. Za razliku od opisnih poželjno je poznavanje uglavnom visokih programskih jezika kao što su PHP, C#, Java ili sličnih tehnologija.

Ovde treba napomenuti da većina visokih jezika ima sličnu ili nasleđenu (istu) sintaksu kao i da visoki jezici imaju manji pristup resursima od niskih programskih jezika. Suštinski bek-end praktično nije moguć bez poznavanja serverske tehnologije i rada sa bazama podataka (database management system, DBMS) npr. MySQL, Marija, Windows SQL Server, PostgreSQL, naravo Oracle i sličnih.

Full stack developers je termin koji se ređe sreće a povezan je sa prethodna dva, značenje kako mu ime samo govori je osoba koja poznaje i radi front-end kao i bek-end.

Kako bi to izgledalo na konkretnom primeru: poslodavac zahteva sajt sa aplikacijom „trka na 110m s preponama“. Nama je u front-end potreban animirani dizajn trkača, adresa, staze i prepona (dizajner – animacija) zatim izgled web sajta sa poljima za registraciju igrača (web-dizajner HTML) a u bek-end DBMS skladištenje registrovanih igrača, promena boje dresa, najbolji rezultati i sl. i Java developer koji povezuje bazu podataka sa dizajnom i gradi endžin (engine, motor aplikacije). Takođe na usavršavanju mogu biti angažovani UI kao i UX dizajneri u zavisnosti od potreba naručioca posla.

Nadam se da je tekst pomogao boljem razumevanju razlike među terminima i IT poslovima koji se obavljaju a vezani su za pomenutu terminologiju.

Ukoliko želite i vi da podelite sa zajednicom svoja iskustva, zapažanja, razmišljanja, uputstva ili bilo šta vezano za IT - dobrodošli ste na Kompjuteraš blogu. Više na ovom linku