Frontend, Backend, Fullstack – ką visa tai reiškia?

Tinklapiai tampa vis sudėtingesni, o internete daugėja įvairiausių galimybių, todėl ir programuotojai specializuojasi tam tikrose srityse. Todėl vietoje to, kad sugebėtų viską, dauguma tampa tam tikro programavimo etapo, programavimo kalbos, karkaso ar kitokios techninės srities ekspertais.

Jeigu vis dar neaišku, ką visa tai reiškia, skaitykite toliau ir sužinosite, kas yra backend, frontend ir fullstack programuotojai ir kodėl riba tarp jų vis labiau mažėja.

Frontend

Frontend yra ta tinklapio dalis, kurią mato vartotojas ir į kurią tiesiogiai įsitraukia. Ji kuriama su HTML, CSS ir JavaScript.

HTML yra tinklapių pagrindas. Kiekvienas tinklapis, kurį lankote, yra sukurtas su šia programavimo kalba. Ja dėliojama struktūra ir turinys. Dabar tinklapiams naudojama HTML5 versija, tačiau ir su senesnėmis versijomis sukurti tinklapiai vis dar puikiai veikia jūsų naršyklėse.

CSS nulemia tai, kaip HTML atrodo puslapyje. Su CSS nustatomos spalvos, šriftai, fonas, puslapio išdėstymas. Su CSS galima elementus išdėstyti netgi kitokia tvarka netgi jie yra išdėstyti HTML faile. Naujausia versija yra CSS3, ji turi daugybę funkcijų su kuriomis gali sukurti animacijas ir padaryti tinklapį interaktyvų.

Tinklapį galima sukurti tik su CSS ir HTML, tačiau yra dar ir JavaScript programavimo kalba, kuris pakeičia visą žaidimą ir trina ribas tarp skirtingų sričių. JavaScript prideda dar daugiau interaktyvumo, sudėtingesnių animacijų ir netgi leidžia kurti pilnai veikiančias web aplikacijas.

Anksčiau, pavyzdžiui 2012 metais, naršyklės prastai palaikydavo JavaScript, todėl tinklapiuose įdiegti daug funkcijų su JS buvo prasta idėja.  Tačiau naršyklės tobulėja ir dabar su JavaScript galima atlikti tai, kas anksčiau buvo laikoma tinkama tik backend programavimo kalboms. Pati JavaScript taip pat labai tobulėja, atsirado naudingų karkasų (AngularJs, jQuery irNode.js). Per kelerius metus tai, ką anksčiau vadinome frontend programavimu, labai pasikeitė. Bet tai juk internetas! Ką čia bepridursi.

Frontend programuotojai naudoja HTML, CSS ir JavaScript programavimo kalbas tinklapiams kurti. Jie yra tie, kurie dizainą paverčia veikiančiu tinklapiu. Kai kurie tinklapiai yra sukurti vien tik su šiomis programavimo kalbomis. Tačiau kai kurie paslepia daugiau kodo backend dalyje tam, kad galėtų sustiprinti ir pagerinti frontend tinklapio dalį.

Backend

Frontend yra ta dalis, kurią mato vartotojas, o štai backend yra lyg užkulisiai ir specifiniuose projektuose gali turėti technologinių pranašumų už priekinę dalį.  Backend programavimo kalbos yra šios: PHP, Ruby, Python ir kitos.

Tiesa, tikriausiai nepamatysite darbo skelbimų, kur būtų rašoma, kad ieškomas „Backend programuotojas“. Dažniausiai bus skelbiama, kad ieškomas „Ruby programuotojas“ arba „PHP programuotojas“ ir panašiai. Darbdaviai žino, kad būtent su konkrečia programavimo kalba specialūs jų poreikiai bus geriausiai įgyvendinti.

Dabar sąrašas darbų, kuriuos galite atlikti su backend kalbomis ir kurių nepajėgia JavaScript, yra gerokai mažesnis negu anksčiau. Yra tik vienas pagrindinis skirtumas. Dauguma turinio valdymo sistemų, kaip ir dideli, sudėtingi tinklapiai, yra sukurtos backend programavimo kalbomis. Kai kuriais atvejais JavaScript gali veikti lėtai, palikti klaidų, todėl, nors su šia kalba dabar galima sukurti ką tik nori, vis dėlto, kartais geriau dirbti su kitomis. Mokydamiesi programuoti išmoksite ir rasti geriausius sprendimus konkrečioms problemoms spręsti. Backend kalbos panaudojimas kartais irgi gali būti geriausias sprendimas.

Backend programuotojai bendradarbiauja su frontend programuotojais tam, kad jų parašytas kodas veiktų su frontend tinklapio dalimi ir sukurtu dizainu, o kartais šį ir patobulina.

Fullstack

Fullstack programuotojai dirba su abiem tinklapio dalimis – ir backend, ir frontend. Jie moka HTML, JavaScript ir CSS bei dar vieną arba kelias backend programavimo kalbas.

Nyksta riba tarp to, ką galima atlikti tik backend arba tik frontend tinklapio dalyse ir dalykai, kuriuos anksčiau buvo galima padaryti tik su backend, tampa įmanomi ir frontend. Todėl vis daugiau specialistų tampa vadinamaisiais fullstack programuotojais. Dauguma darbdavių ieško būtent fullstack programuotojų, kurių įgūdžiai būtų pritaikomi plačiai ir kurie žinotų, kokius įrankius geriausia panaudoti nepriklausomai nuo to, frontend ar backend daliai jų reikia.

Priešingai nei mano daugelis, fullstack programuotojai nerašo viso reikalingo kodo tik patys. Dažniausiai didžiąja laiko dalį jie praleidžia vystydami backend arba frontend dalį. Svarbiausia yra tai, kad jie išmano daug, todėl prireikus gali nukreipti savo dėmesį į tą vietą, į kurią reikia. Be to, kai kurie fullstack programuotojai iš tiesų gali sukurti visą tinklapį patys vieni, tačiau dažniausiai taip dirba laisvai samdomi programuotojai arba taip nutinka, jeigu su projektu nedirba daugiau specialistų.

Dauguma programuotojų specializuojasi kurioje nors backend kalboje, pavyzdžiui Ruby, Python arba PHP. Tačiau kai kurie, ypač turintys daugiau programavimo patirties, paprastai išmano kelias kalbas. Darbo skelbimuose paprastai rašoma, kad ieškomas „Fullstack Ruby programuotojas“ arba panašiai.

Programavimas nuolat kinta ir atsinaujima, todėl net jei išsirinksite sritį, kurioje specializuositės, po kelerių metų tai, ką dabar vadiname frontend ar backend programavimu, bus visiškai pasikeitę. Reta tikimybė, kad galėsite susitelkti tik į vieną ar kitą dalį, todėl geriausia mokytis abiejų sričių programavimo kalbų. Tuomet tapsite vertingesniu, universaliu ir į priekį žiūrinčiu programuotoju.