Frontend and backend su možda dva najkorišćenija termina u kompjuterskoj industriji. Oni diktiraju kojim tipom posla ćeš se baviti kao developer, koje tehnologije ćeš koristiti i koliko ćeš biti plaćen.
Zato je važno da se dobro upoznaš sa oba termina kako bi na najbolji način procenio kojim putem da kreneš.
Dakle, koje su ključne razlike između backenda i frontenda, i šta možeš da očekuješ od ova dva polja po pitanju zaduženja i potrebnih veština.
Krenimo redom...
Šta je frontend development?
Frontend development fokusira se na kreiranje korisničkog iskustva i interfejsa sa kojima posetioci nekog sajta ili aplikacije vrše interakciju.
Zbog toga, frontend development se naziva “klijentovom stranom” jer uključuje sve stvari koje se dešavaju na ekranu uređaja klijenta.
Frontend developeri odgovorni su za izgled sajta, osećaj koji on pruža posetiocima, kao i ponašanje svih komponenti na njemu.
Korisnički interfejs uključuje sve: od veličine fonta i boja, do padajućih menija i drugih formi.
Zbog svega navedenog, odličan frontend developer je ključna stvar za privlačenje i održavanje korisnika.
Međutim, zbog toga što je posao frontend developrera fokusiran na izgled i estetiku sajta, mnogi ga često mešaju sa poslom web dizajnera.
Među ove dve pozicije postoje određena preklapanja po pitanju veština i odgovornosti, a ključna razlika između developera i dizajnera može se sumirati kao modeliranje naspram implementacije.
Dizajneri su znatno fokusiraniji na kreiranje grafike i odabir boja i fontova kako bi odredili izgled sajta, dok su frontend developeri primarno zaduženi za tehničke detalje koji se tiču oživljavanja neke aplikacije.
Šta je backend development?
Ključni zadatak backend developmenta je definisanje interne logike nekog sajta.
I dok se frontend developer naziva “klijentova strana”, backend developer se može definisati kao “server strana” jer se sve odvija na serveru sajta, a ne na kompjuteru korisnika.
Svaki backend sajta sastoji se iz tri dela koje čine:
- Server
- Baza podataka
- Aplikacija
Backend developer razvijaju kod koji omogućava ovim komponentama da zajedno rade i vrše interakciju kako bi izveli potrebne funkcije i isporučili informacije krajnjem korisniku.
Primera radi, kada naručujete nešto prkeo internet sajta, backend softver stvara novi unos u bazi podataka sajta koji sadrži podatke o narudžbini. Kada želite da promenite neki podatak, softver povlači specifičnan unos iz baze podataka i šalje podatke ka frontendu sajta – gde vi kao korisnik možete da ih modifikujete.
Ključne razlike između frontend i backend developera
Dobar primer koji na najbolji način prikazuje razlike između ove dve pozicije može da bude Facebook.
Backend uključuje softverske aplikacije koje odlučuju koje postove će vam prikazivati i koje korisnike će vam preporučivati kao potencijalne prijatelje, dok je glavna funkcija frontenda da primi te informacije i predstavi ih na prijatan način uz korisnički interfejs koji će vam lako omogućiti da pogledate post ili otvorite odgovarajući meni i prihvatite nečiji zahtev za prijateljstvo.
Važno je napomenuti i da su frontend i backend najčešće odvojeni jedno od drugog. Ako Facebook odluči da promeni neki od backend algoritama koji određuju sadržaj koji vam se prikazuje, developeri će u vrlo retkim situacijama menjati frontend kako bi prikazali ove promene.
Ključne veštine za frontend developera
S obzirom na to da je ključna briga frontend developera prezentacija, on mora da poseduje umetničku viziju kako bi na najbolji način predstavio podatke unutar nekog sajta.
Ovo generalno podrazumeva savladavanje HTML-a, CSS-a i neki od JavaScript frameworka kao što je Angular, React ili Vue.
Dobar frontend developer bi takođe trebalo da bude upoznat sa aspektima bezbednosti i performansi.
Ako smatraš da si kreativna osoba, frontend development bi mogao da bude tvoj budući poziv.
S obzirom na to da frontend obuhvata, ne samo dizajn sajta, nego i njegovo prilagođavanje korisnicima i brojne estetske elemente, postoji nekoliko ključnih segmentiranih pozicija za sve koje zanima frontend:
- User interface (UI) dizajner – ovo je u osnovi pozicija vizuelnog dizajnera i fokus je na dizajnu. Uglavnom nisu uključeni u implementaciju samog dizajna, ali mogu da poseduju HTML i CSS znanje kako bi svoje ideje mogli da što bolje iskomuniciraju frontend developeru.
- User experience (UX) dizajner – UX dizajner radi u frontendu, istražujući i proučavajući način na koji ljudi koriste sajtove, i onda na osnovu tog znanja i dosta testiranja sprovode promene na sajtu.
- Frontend developer – oni mogu da naprave sajt bez ikakvog backend razvoja. Sajt koji naprave na ovaj način je statični sajt. Njegove stranice se gotovo uopšte neće menjati, sem ukoliko se ne radi redizajn celog sajta. Frontend developer bi trebalo da vlada HTML-om i CSS-om, ali se vrlo retko očekuje da poznaje rad u programima za dizajn.
Ključne veštine za backend developera
Backend developeri imaju zadatak da implementiraju poslovnu logiku, i samim tim bi trebalo da poseduju znanje koje obuvata framework, softversku arhitekturu, baze podataka, API-je, DevOps i slično.
Veoma je važno da su više nego spremni da izađu na kraj sa apstraktnim konceptima i kompleksnom logikom.
Vešt developer će posedovati duboko poznavanje servera i baza podataka i programskih jezika kao što su Java, python, PHP i C#, a zbog sve veće potražnje za mikroserverima, backend developeri bi i sa njima trebalo da se upoznaju.
U slučaju da te fascinira logička strana programiranja i voliš da radiš sa podacima, backend bi mogao da bude pravi poziv za tebe.
1 komentar