Frontend, backend ili full-stack — šta da učiš prvo?
Skoro svaki početnik zaglavi na istom pitanju pre nego što napiše prvu pravu liniju koda: „Da li da krenem od frontenda ili backenda?" Provede nedelju dana gledajući video poređenja, čita rasprave na Redditu, i na kraju ne uradi ništa.
Reći ću ti nešto što ti niko ne kaže: sam odgovor je manje važan nego što misliš. Ali pogrešan pristup tom pitanju može da te košta mesec dana. Hajde da to rešimo za 6 minuta.
Šta je šta — bez žargona
Zamisli restoran. Ono što gost vidi — sto, meni, tanjir, kako je sve postavljeno — to je frontend. Ono što se dešava u kuhinji — gde se hrana sprema, odakle stižu namirnice, ko šta radi — to je backend. Gost nikad ne vidi kuhinju, ali bez nje nema obroka.
- Frontend — sve što korisnik vidi i klikće u browseru. Dugmad, forme, izgled, animacije. Alati: HTML, CSS, JavaScript/TypeScript, React.
- Backend — logika koju korisnik ne vidi: čuvanje podataka, prijava korisnika, obrada zahteva, baza. Alati: Kotlin, Java, PostgreSQL.
- Full-stack — nije treća stvar. To je neko ko ume i jedno i drugo i razume kako se spajaju.
Zašto pitanje nije „koji je bolji"
Nijedan nije bolji. To je kao da pitaš da li je bolja leva ili desna noga. Pitanje koje ima smisla je: šta tebe više vuče i šta ti brže daje osećaj da nešto radi.
Za većinu početnika to je frontend — i to ima dobar razlog. Kad promeniš jednu liniju i dugme odmah promeni boju u browseru, dobiješ trenutni feedback. Taj osećaj „uradio sam nešto i vidim ga" je gorivo koje te drži prvih par meseci. Backend je apstraktniji na početku: kucaš kod, pokreneš ga, i vidiš tekst u terminalu. Manje efektno, ali ne i manje vredno.
Tri pitanja koja ti daju odgovor
Ako stvarno ne znaš, odgovori sebi iskreno na ovo:
- Da li te više zanima kako stvari izgledaju ili kako rade iznutra? Izgled → frontend. Mehanika → backend.
- Smeta li ti kad nešto nije „lepo" ili kad nešto nije „logično"? Estetika → frontend. Logika → backend.
- Hoćeš da praviš stvari koje ljudi direktno koriste, ili sisteme koji rade u pozadini? Prvo → frontend. Drugo → backend.
Ako i dalje nisi siguran — kreni od frontenda. Nisi se zaključao ni za šta. Promena smera kasnije košta dane, ne godine.
Zašto ipak treba da vidiš obe strane rano
Evo dela koji menja sve: najveći skok u razumevanju ne desi se dok ne vidiš kako se frontend i backend spajaju.
Dok god gledaš samo jednu stranu, kod je za tebe pola priče. „Odakle dolaze ovi podaci? Gde se čuvaju kad osvežim stranicu? Šta se desi kad kliknem ‘Pošalji'?" Ta pitanja dobijaju odgovor tek kad jednom sam povežeš dugme na frontendu, sa API-jem na backendu, sa redom u bazi. Tog dana programiranje prestane da bude magija i postane sistem koji razumeš.
Zato u praksi ne učim ljude da budu „samo frontend" ili „samo backend" na početku. Učim ih da naprave jednu stvar koja prolazi kroz ceo lanac — i onda da produbljuju stranu koja ih više vuče.
Realan redosled
- Korak 1: HTML i CSS. Napraviš statičnu stranicu koja izgleda pristojno. Nema logike, samo izgled.
- Korak 2: JavaScript/TypeScript. Stranica počinje da reaguje na klikove. Ovde se mnogi zaljube u frontend.
- Korak 3: Mali backend. Jedan API koji prima i vraća podatke. Ne mora biti veliki — mora da radi.
- Korak 4: Baza. Podaci preživljavaju i kad ugasiš server. Sad imaš pravu aplikaciju.
- Korak 5: Spojiš sve i pustiš live. Tek tu si full-stack — ne zato što znaš sve, nego zato što razumeš ceo put.
Ne moraš da budeš ekspert u svakom koraku pre nego što pređeš na sledeći. Dovoljno je da svaki deo jednom proradi.
Ako ti treba pomoć
Možeš sam da prođeš kroz sve ovo — ima besplatnih resursa za svaki korak. Ono što časovi 1-na-1 rešavaju je redosled i zaglavljivanje: da ne provedeš dve nedelje birajući jezik i da te neko izvuče kad zapneš na spajanju frontenda i backenda (a tu skoro svi zapnu). Radimo sa pravim alatima — TypeScript, React, Kotlin, Java, PostgreSQL, AWS — i sve ide do realnog deploy-a.
Prvi čas je besplatan. Na njemu vidimo gde si i koji ti redosled ima smisla za ono što hoćeš da postigneš.