Ova dva izraza se poslednjih godina često mogu čuti u IT sektoru a naročito kad je u pitanju razvoj web-a. Tu dolazi do malo nezgodne situacije jer granica izmedju tih izraza nije uvek potpuno jasna. Uglavnom ih koristimo da pojasnimo aspekte web industrije pa se tako front-end odnosi na klijentsku stranu (kao sto je web design) dok se za back-end (web development) podrazumeva serverska strana. Iako ovo može da izgleda kao najjednostavnije objašnjenje, granica izmedju 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 back-end development-a.

Front-end

Front-end bi bilo sve ono što korisnik vidi (web site 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 development-om 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 Photoshop-u bez ikakvog kodiranja. Tu dolazimo do front-enda koji suštinski daje funkcionalnost dizajnu, jer kada dizajner koristeći ma koji alat uradi odredjeni 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 back-end development-a 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. Takodje u front-end development-u 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 hardware: PC 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.

Back-end

Back-end podrazumeva serversku stranu, to jest izradu programa koji je zaslužan za rad web-sajta ili aplikacije. U back-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 socijalnih mreža FB, Google+, Twitter 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 back-end je poželjno poznavanje ili bar razumevanje mogućnosti opisnih jezika koji se koriste u front-end development-u 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 nasledjenu (istu) sintaksu kao i da visoki jezici imaju manji pristup resursima od niskih programskih jezika. Suštinski beck-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 redje 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 back-end.

Kako bi to izgledalo na konkretnom primeru: poslodavac zahteva web sajt sa aplikacijom “trka na 110m s preponama”. Nama je u front-end potreban animirani dizajn trkača, dresa, staze i prepona (dizajner – animacija) zatim izgled web sajta sa poljima za registraciju igrača (web-dizajner HTML) a u beck-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 engine (motor aplikacije). Takodje 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 medju 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š IT blogu. Više na ovom linku