Blog

Vesti, akcije, događaji, zanimljivosti...
9 јун 2020

Front End vs. Back End programiranje

Nebrojeno puta su nam postavljali pitanje koja je razlika između Front End i Back End programiranja. To nas je motivisalo da napravimo kratak webinar na kojem smo objasnili razlike. Pa da počnemo…

Front End programiranje i Back End programiranje su odgovorni za internet sa kojim se svakodnevno susrećete i radite. Front End programiranje koristi programske jezike da kreira sve ono što korisnik vidi u browser-u (pretraživaču, odnosno sve ono što vidite kada posetite neki web sajt). Back End programiranje koristi programske jezike da ispuni zahteve na serverskoj strani (odnosno da sve što kliknete na nekom sajtu, bude i izvršeno prema svojoj nameni). U kombinaciji, oni stvaraju kvalitetno iskustvo za korisnika.

Poređenje

Napravićemo poređenje. Slično je kao grad ili kuća. U gradu, postoji površinski nivo sa kojim ste u interakciji i postoji struktura koja održava taj površinski nivo. To može biti vodovod ili energetska mreža koja napaja grad. Uvek postoji nešto što vidite i nešto što radi iza toga. U kući, temelj i zidovi se mogu predstaviti kao HTML programski jezik, dok CSS dodaje izgled kuće, boje zidova, razmeštaj u prostorijama itd. JavaScript može biti sve što kuću čini domom. Back End mogu biti strujna mreža, vodovodna mreža i sve ono što je neophodno da kuća funkcioniše kako treba.

Ovo je sve prilično informacija odjednom. Zato smo ovde danas da elimišemo nejasnoće oko pojmova Front End Development i Back End Development i šta znači biti developer/programer u bilo kojoj od ove dve discipline. Pokrićemo full stack programske jezike i veštine koje su potrebne pojedincu da postane developer.

Krenućemo od Front End-a

Front End development i Front End programski jezici kreiraju sve ono što korisnik vidi i sa čime vrši interakciju u pretraživaču ili u aplikaciji. Odnosi se na “klijentsku stranu” i uključuje njegov doživljaj teksta, boja dugmića, slika, navigacionog menija…

HTML, CSS i JavaScript su tri Front End programska jezika i svaki od njih ima posebnu namenu.

Prostije rečeno, Front End developer/programer pravi vizuelnu reprezentaciju korisničkog interfejsa unutar pretraživača/browser-a, za potrebu koja je nastala sredinom 90-tih sa razvojem komercijalnog interneta koji poznajemo danas.

U proteklih 20 godina, Front End development se proširio izvan HTML-a, CSS-a i JavaScript-a. Flash je polako gubio trku u odnosu na HTML5. Dok je JavaScript omogućavao interaktivnost na internetu, developeri su napravili dodatne alate da olakšaju i ubrzaju ceo proces. JavaScript nadogradnje kao što je React, se sada koriste da se brzo i efikasno napravi korisnički interfejs. Redux je još jedna JavaScript nadogradnja najčešće korišćena sa React-om ili Angular-om, koja omogućava developerima da kreiraju predvidljive aplikacije koje su lakše za testiranje. Postoji još mnogo JavaScript nadogradnji.

Front End Developer

  • Pomaže kod kreiranja korisničkog iskustva unutar browser-a
  • Poseduje kreativne, tehničke i komunikacione veštine
  • Velika mogućnost zaposlenja i dobre plate

Front End developer radi sa web dizajnerima i Back End programerima na izradi web sajta. Koristi programske jezike da napravi sve ono što posetilac sajta koristi dok je na web stranici.

Sve što Front End developer uradi, služi da poboljša korisničko iskustvo. Sve ukrase na stranici i glatko učitavanje je rezultat rada Front End programera. Dok vodi računa o izgledu stranice, njegov posao je i da se pobrine za performanse. On mora biti u isto vreme i kreativan i tehnički osposobljen jer radi i sa dizajnerima i sa Back End programerima.

Web developeri su isto što i web dizajneri (UI/UX dizajneri), ali su to dve posebne uloge. Web dizajneri su zaduženi za dizajn – izgled samog sajta, kako je poslagano sve. Web developer oživljava dizajnerovu ideju kroz razne nacrte i šablone. On ne kreira grafike ili elemente dizajna, ali pravi interfejs i različite dinamičke elemente da stvori bogato korisničko iskustvo. Front End programer je zadužen za funkcionalnost, on transformiše željeni dizajn u živi, interaktivni web sajt.

Drugi primer bi bio kako web sajt izgleda na desktop računaru, a kako na mobilnom telefonu. Sajt mora biti responsive, jer će ga korisnik možda posetiti sa desktop računara, sa tableta ili mobilnog telefona. Responsive znači da sajt mora da se prilagođava svakom od ovih uređaja i da prikaz bude optimalan, a to je takođe posao Front End developera.

Pored ovoga, potrebne su mu i veštine komunikacije, zbog rada u timu ljudi. Ovo znači da Front End developer pravi vezu između dizajnera, Back End programera i ostalih u timu koji možda nemaju tehničke veštine. Jedno je znati pisati programski kod, a objasniti ga je nešto potpuno drugo.

Šta koriste Front End programeri?

Front End developeri koriste HTML5, CSS, Javascript, zatim nadogradnje Javascript-a i različite biblioteke da kreiraju stranice.

Kompanija Mozzilla je ovo predstavila kao tortu sa tri sloja da objasni kako rade zajedno. HTML je na dnu, zatim dolazi CSS i Javascript na vrhu.

Raniji Front End developeri su koristeći HTML bili ograničeni na rad bez stilova i dizajna. HTML definiše strukturu sajta i osnovne elemente izgleda. Koristi se da se odredi koja slova će biti podebljana ili iskošena i koji deo teksta spada u paragraf.

Nije loše ako želite stranicu sa običnim tekstom. Ali ako hoćete da promenite boju pozadine, morate koristiti CSS. CSS je jezik koji određuje kako stranica treba da izgleda. Uz njega, developeri mogu da unesu sve promene koje žele na jednom mestu, bez ponavljanja iste komande svaki put kada žele nešto da dodaju ili izmene. Na primer, dovoljno je samo nekoliko linija koda da se svi naslovi prebace u plavu boju.

Javascript je poslednji sloj ove torte i pretvara statički web sajt u dinamičko iskustvo. Front End developeri manipulišu elementima koristeći Javascript. Takođe koriste i nadogradnje, da poboljšaju i ubrzaju rad sa JavaScript-om. Angular, na primer, omogućuje developerima da efikasnije naprave web aplikacije. jQuery olakšava zadatke, kao što je korićenje AJAX-a, koji omogućava stranicama da prikažu izmene bez osvežavanja cele stranice.

Zbog toga što se izuzetno mnogo koriste, ovi programski jezici se često nalaze u vrhu top liste po popularnosti. HTML i Javascript su takođe među programskim jezicima koji su najlakši za razumevanje. Mišljenje developera (progamera) je da je Javascript najkreativniji među programskim jezicima.

Šta je Back End developer?

Back End developer koristi set programskih jezika koji služe da ožive ono što je Front End developer napravio. Dok Front End developer pravi korisnički interfejs i utiče na iskustvo u browseru, Back End developer kreira logiku koja zahteve korisnika pretvara u realnost. Na neki način, Back End developer pravi mozak i logiku web sajta.

Back End developeri su više tehnički osposobljeni i organizovani, ali čine deo većeg tima. Dok sa jedne strane treba da znaju kako da naprave logiku koja efikasno rešava podatke iz zahteva korisnika, sa druge strane moraju komunicirati sa Front End developerima da bi predočili svoje potrebe ili ograničenja u radu. Oni rade sa bazama podataka, serverima i drugim elementima koji čine strukturu na koju se oslanja ostatak procesa, da bi na primer omogućili poručivanje sa sajta, kreiranje korisničkih naloga na sajtu, kupovinu preko sajta…

Šta koriste Back End programeri?

Back End developeri koriste programske jezike kao što su Ruby, Python, PHP, Java, Microsoft .NET i alate za rad sa podacima i bazama kao što su SQL i MySQL. Kada se korisnik nalazi na web stranici, njegovo delovanje pokreće čitav lanac događaja, od kojih su neki vidljivi, a neki nevidljivi. Ako na primer, korisnik unese pojam za pretragu, to rezultuje hiljadama rezultata pretrage, a sve to se desi za manje od jedne sekunde. Korisnik učestvuje u svemu što je Front End developer napravio, dok neometano dobija informacije, koje je kroz logičke procese napravio Back End developer. Ako korisnik klikne dugme da ode na drugu stranicu i stigne na pravo mesto, za to je zaslužan Back End developer.

Front End developeru je potreban Back End, u suprotnom će postojati linije neaktivnog koda. Front End programski jezici komuniciraju sa Back End programskim jezicima. Svaki web sajt ima server, bazu podataka i druge aplikacije koje rade sa Front End delom, a napravljeni su od strane Back End developera.

Web stranica Amazon je dobar primer Back End developmenta. Odete na stranicu Amazon i pretražite novu košulju. Back End developer koristi programske jezike da izvuče sve podatke o košuljama iz baze podataka. Ta informacija se zatim obrađuje u aplikaciji i šalje korisniku kroz Front End programski jezik. Prevedeno na srpski, dobijate rezultate pretrage o stotinama košulja. Ako hoćete da suzite izbor i da filtrirate rezultate, recimo po proizvođaču košulje ili veličini, ceo proces se ponavlja.

Ruby, Python i PHP su među tri najpopularnija Back End programska jezika. Postoji ih još nekoliko, kao i alati za rad sa bazama podataka. Pretpostavka je da su Back End programski jezici teži za naučiti zbog tehničke prirode, međutim to nije baš tako.

Ruby je višestran, objektno orjentisani programski jezik. To znači da ima široku primenu i da sve tretira kao objekte. Ruby on Rails je veoma popularna nadogradnja koja se koristi za izradu web sajtova i aplikacija.

Python je takođe višestran, objektno orjentisan programiski jezik. Koristi se se za pravljenje logike na serveru, a mnogi popularni web sajtovi, kao što su Reddit i Instagram, su napravljeni u Python-u. Ovaj jezik se lako uklapa sa nadogradnjom Django. Njegova popularnost je sve veća, jer se primenjuje u mašinskom učenju i veštačkoj inteligenciji.

PHP je još jedan Back End programski jezik koji se takođe može koristiti kod izrade web sajtova. Potpuno je besplatan, što znači da je sjajno sredstvo za kreiranje dinamičkih sadržaja.

SQL ili Structured Query Language se koristi za upravljanje podacima unutar baza. MySQL je alat otvorenog koda koji ima veoma široku primenu u back end developmentu. Postoji i drugi programski jezici, kao što su Java ili ASP.NET koji se koriste u različitim industrijama.

Zaključak

Posle svega dolazimo do zaključka da su Front End i Back End development dve strane istog novčića. Rade zajedno da ispune zahteve klijenta i zadovolje potrebe kompanije.

Šta znači Full Stack developer?

Šta ako je kompanija suviše mala ili ne može da angažuje ceo development tim ljudi? Tu uskaču Full Stack developeri. Oni nisu obavezno eksperti i u Front End-u i u Back End-u, ali su u stanju da reše većinu stvari u web developmentu.

Startup kompanije imaju puno koristi od Full Stack developera. On bi bio u stanju da postavi web sajt i da se pobrine oko eventualnih problema u Back End-u. Full Stack poznaje nešto od HTML-a, CSS-a, Javascript-a, Pythona i PHP-a, zajedno sa bibliotekama i nadogradnjama da bi se automatizovao ceo proces. Nisu eksperti u svim jezicima, ali razumeju dovoljno i znaju kome treba da se obrate za pomoć u slučaju da dođe do određenih problema.

Full Stack developeri su u stanju da preuzmu više različitih uloga. Vremenom, Full Stack se može specijalizovati bilo u Front End ili u Back End developmentu, na osnovu sopstvenog interesovanja. Ako ste više vizuelni tip osobe, Front End bi vam odgovarao, a ako ste više osoba za rad sa podacima, za detalje, Back End je za vas.

Sumiranje utisaka

Za kraj da sumiramo sve još jednom: skoro svi poslovi na polju Front End developer zahtevaju HTML, CSS i Javascript. Poznavanje nadogradnji i biblioteka, kao što su JSON i jQuery, je takođe potrebno za te poslove. U opisu posla senior Front End developera je i iskustvo u radu sa PHP-om ili određenim alatima za serversku stranu programiranja.

Back End developer poslovi se razlikuju u zavisnosti od industrije. Ruby, Python i PHP su popularni programski jezici dok je SQL popularni alat za rad sa bazama. Neke kompanije preferiraju i iskustvo u korišćenju Jave ili Microsoft .NET platforme.

Ako želite da postanete developer, sada znate šta znači Front End a šta Back End. Započnite izgradnju tehničkih veština i prepoznajte šta vas privlači u svetu programiranja. Web programiranje je popularna ulazna tačka u svet programiranja.

Daćemo vam još jedan savet, prema našem iskustvu, najbolje i najlakše se uči kroz praksu. Kroz praktičan rad nadograđivaćete vaše znanje i sticaćete sigurnost i samopouzdanje. Jedan od programa prekvalifikacije u IT sektor za oba ova usmerenja imamo u našem IT edu centru SmartSchool i najavljen je za jesen – DoIT praksa.

Ukoliko imate dodatnih pitanja u vezi ove teme ili bilo koje druge teme na polju prekvalifikacije u IT sektor, slobodno nas pozovite na telefon: 065 4728 200 ili nas kontaktirajte putem mail-a: school@smart.rs.

Tu smo za vas i tu smo zbog vas!

Pogledajte održani webinar

Leave a Reply