Evo, da vam svarim sve informacije vezano za ovo. To je ono sto sam ja naucio i shvatio uceci ovu materiju.
HTML - ti prikazuje sadrzaj (linkovi, meniji, slike, tekst, elementi, forme....)
CSS - ti sluzi da stilizujes HTML elemente (da im dodas velicine fontova, boje, pozadinu, dizajniras layout i sl.)
JS - ti sluzi da dodas funkcionalst stranicama (da ti se elementi skrivaju, pokazuju, da kupis podatke iz formi...)
Kao front end dev - nema ti sta tu da dizajniras. Ti dizajn dobijas od dizajnera, tvoj zadatak je da taj dizajn sprovedes u kod. Ti mozes biti front end dev i dizajner u isto vreme, ali to se dodatno naplacuje. Ko ima talenat i smisao za dizajn to je vrh, ali i ako nemas, ne treba ocajavati. Resenje je prosto. U zavisnosti od toga sta klijentu treba i kakav sajt ce imati personaliti ti izaberes neki dizajn iliti templejt i to posle preradis u potrebe firme. Ako imas dizajnera u firmi, onda dizajn sa sve paletama boja, slikama i dr dobijas.
Kao obican freelance dev koji pravi staticke sajtove (oni sa kojima se sadrzaj ne menja) tebi je dovoljan HTML, CSS i JS. Ljudi koriste npr bootstrap kao css frejmvork jer ti daje automatsku responzivnost sajta, ne moras da kucas medija kverije rucno, to sve dobijas u bootstrapu automatski. Ti mozes to da radis i bez bootstrapa, ali je sa njim lakse.
Ako pravis dinamicke sajtove (tipa forumi, facebook, twitter...) ili neke veb aplikacije gde se sadrzaj menja i generise, onda su ti nephodni i frejmvorci za JS kao sto su Angular, React ili Vue. Razlika je izmedju njih to sto Angular je kompletno resenje, React je minimum minimuma i ti biras ostatke komponenti, a Vue je nesto izmedju ta dva. Kod dinamickih sajtova ti pravis templejte stranice i sadrzaj se generise iz neke od baza podataka.