Web razvoj nije samo jedna stvar. Ona obuhvata višestruke veštine i postoje različite vrste karijera u okviru web razvojnog prostora. Tri termina često korišćena su "prednji kraj", "zadnji kraj" i "puno stack". Evo ključnih razlika između tri.
Front-End Web Development
Front-end razvoj , dok se njene komponente uvek menjaju, u suštini se bave deljenjem spoljašnjih dijelova web stranice ili veb aplikacije.
U svom jezgru, napredni razvoj uključuje HTML, CSS i JavaScript.
- HTML : HyperText Markup Language ili HTML je ključna strukturna komponenta svih veb lokacija na Internetu. Bez toga web stranice ne mogu postojati.
- CSS : CSS dodaje stil u HTML. Ja volim da koristim analogiju da je HTML kao lice, a CSS je kao šminka.
- JavaScript : JavaScript ili JS se razvijao tokom poslednjih nekoliko godina. Što se tiče front-end razvoja, JS je važan jer pomaže u pravljenju web stranica.
U principu, prednji kraj je povezan sa principima rasporeda i dizajna. Međutim, napredni developeri nisu nužno dizajneri.
U osnovi, programeri na prednjoj strani konstruišu spoljašnji izgled - stranice veb stranice koje korisnici vide. To znači da se prednji korisnik mora uzeti u obzir čitljivost i upotrebljivost sajta i / ili aplikacije.
Štaviše, prednji kraj radi na klijentu - što znači lokalni računar korisnika - u većini slučajeva, web pretraživač.
I informacije se ne čuvaju na strani klijenta.
Back-End Web razvoj
Back-end web razvoj je ono što se odvija iza scene. Stražnji kraj omogućava front-end iskustvo.
Da biste olakšali stvari, razmislite o prednjem kraju kao delu ledenog brega iznad vode. To je ono što korisnik vidi - glatko izgleda sajt.
Zadnji deo je ostatak leda; to ne može da vidi krajnji korisnik, ali to je najvažniji element veb aplikacije. Zadnji deo se pokreće na serveru, ili, kako se često naziva, "server-side".
Za razliku od naprednog razvoja (koji primarno koristi HTML, CSS i JavaScript), razvoj back-end veba može se oslanjati na čitav niz jezika i okvira.
Nekoliko popularnih jezika koji se koriste na zadnjem delu uključuju:
- Ruby (često se koristi u kombinaciji sa okvirom Rails - AKA Ruby on Rails)
- Python (koji se često koristi sa Django okvirom na zadnjem kraju)
- PHP (popularni WordPress CMS koristi PHP na svom kraju - PHP ima nekoliko popularnih okvira, od kojih je jedan Laravel)
- Node.js (postaje popularniji - ovo je okruženje za web aplikacije izgrađene sa JavaScriptom)
Međutim, kako bi veliki sajtovi i web aplikacije mogli raditi, to je više od pozadinskog jezika i okvira. Sve informacije na veb lokaciji ili aplikaciji moraju se negdje skladištiti.
Ovdje dolaze baze podataka. Razvijaci iz baza podataka takođe rade na njima.
( Napomena : možete kreirati web stranicu bez baze podataka koristeći samo HTML i CSS.To bi bilo statično i bi bilo mnogo manje fleksibilno.Međutim, sajt koji se oslanja na informacije koje treba generisati dinamički - Facebook, Yelp, bilo koji stranica e-trgovine - potrebna je baza podataka.)
Popularne baze podataka uključuju:
- MySQL
- PostgreSQL
- MongoDB
- I drugi
Obično određeni back-end jezici / okviri zahtevaju određenu bazu podataka. Na primjer, okvir MEAN punog stekla zahtijeva MongoDB.
Osim poznavanja jezgre / okvira unazad i pokretanja baza podataka, razvijači back-end takođe moraju imati razumijevanje arhitekture servera.
Podešavanje servera ispravno omogućava sajtu da se brzo pokreće, ne sruši i ne daje greške korisnicima. Ovo spada pod domen zadnjeg kraja programera, jer se većina grešaka javlja na zadnjem kraju, a ne prednji kraj.
Full Stack
Da, pretpostavili ste to: Puni stack je kombinacija prednjeg i zadnjeg kraja.
Programer sa punim stackom je jack-of-all-trades. Oni su odgovorni za sve nivoe razvoja, od načina na koji je server postavljen na CSS vezan za dizajn.
Ovih dana, toliko je mnogo toga što ide u razvoj weba što je gotovo nemoguće obraditi obe strane. Dok mnogi ljudi mogu tvrditi da su puno stakla, ili su u stvari, oni i dalje obično više fokusiraju na jednu stranu: klijent ili server. (AKA prednji kraj ili zadnji deo.)
Kod manjih kompanija / startupa, jedna osoba bi verovatno bila odgovorna za sve strane spektra razvoja weba. Međutim, u većim kompanijama, ljudi rade na timovima i imaju specijalizovane uloge - jedan se fokusira isključivo na arhitekturu servera, drugi (ili nekoliko ljudi) na prednjoj strani itd.
Zaključak
Razvoj Weba ima mnogo lica, a svakodnevno se razvija više. Ima puno toga da se nauči, ali nemojte biti pod pritiskom da naučite sve odjednom. Zapamtite, u okruženjima na radnom mestu, obično ćete biti u timu sa drugima. Fokusirajte se na usavršavanje svojih veština u jednom aspektu razvoja weba u isto vreme. Nemojte biti preplavljeni i bićete profesionalac pre nego što to znate.