Blog

Novice, inspiracija in namigi

Kaj pomeni biti full-stack programer/ka

Kaj pomeni biti full-stack programer/ka

15.04.2020 Matej Ramuta

Full-stack (spletni) programer oz. programerka je oseba, ki se ukvarja z vsemi aspekti spletnega programiranja:

  • front-end,
  • back-end,
  • ter konfiguracija in upravljanje strežnika.

Full-stack programer/ka je tako neke vrste "deklica za vse", kar je še posebej uporabno pri manjših projektih ali pa v manjših podjetjih, kjer pride zelo prav, če posamezniki obvladajo vse dele razvoja spletne aplikacije.

Pa tudi večja podjetja preferirajo full-stack programerje, čeprav ti tam opravljajo neko specializirano delo (npr. samo front-end razvoj).

Full-stack programerji so v takih okoljih zaželjeni zato, ker bolje razumejo kako njihov del razvoja paše v širši kontekst IT infrastrukture podjetja. Obenem pa so full-stack razvijalci tudi potencialno bolj primerni za višje pozicije v IT sektorju podjetja (ravno zaradi širšega IT znanja).

Poglejmo si, kaj točno mora znati oseba, ki želi postati full-stack developer/ka.

Front-end razvoj

Kar se tiče front-enda, mora full-stack programer/ka znati vsaj osnove HTML in CSS, ki sta podlaga za izgled (front-end) katere koli spletne strani oz. spletne aplikacije.

Če pa želiš, da je tvoja spletna aplikacija malce bolj interaktivna, pa je nujno potrebno k znanju HTML in CSS vključiti še znanje JavaScripta.

Zelo pripomore tudi poznavanje kakega ogrodja, kot je Bootstrap, ki razvijalcu pomaga hitreje narediti lepši uporabniški vmesnik.

Back-end razvoj

Back-end development se nanaša na pisanje kode, ki teče na strežniku.

Za primerjavo razmerja med front-endom ter back-endom spletne strani vzemimo, na primer, avtomobil.

Razlika med spletnim front-endom in back-endom je približno taka, kot je razlika med pločevino (izgledom avtomobila) ter avtomobilskim motorjem.

Front-end skrbi za izgled spletne strani, medtem ko je back-end tista "skrita" zadeva, ki dejansko poganja spletno aplikacijo.

Brez back-enda je spletna stran samo statična stran, kjer uporabnik ne more vnašati podatkov ali pridobivati podatke iz baze (ker podatkovne baze v ozadju sploh ni). Podobno je tudi avto brez motorja samo statičen kup pločevine, ki se nikamor ne premakne.

Medtem, ko smo na front-endu omejeni samo z, bolj ali manj, tremi jeziki (HTML, CSS ter JavaScript), nam back-end omogoča široko paleto programskih jezikov, s katerimi lahko ta back-end razvijemo. Če naštejemo samo nekaj izmed teh jezikov: Ruby, PHP, Python, Java, C#, Scala, Go, itd. Izbire je ogromno.

Če je toliko izbire - kateri programski jezik naj se potem naučim?

V resnici niti ni važno, kateri programski jezik se najprej naučiš, saj so osnovni koncepti programiranja enaki povsod.

Kot programer/ka, boš tako in tako moral/a znati več različnih programskih jezikov hkrati. Vendar, ko se naučiš osnovnih programerskih konceptov v enem jeziku, je učenje novih praktično mala malica.

Ko začetnike na SmartNinja tečajih učimo osnov programiranja, uporabljamo jezik Python, ki je zelo prijazen začetnikom, saj ima lepo in čisto sintakso ter jasno strukturo. Ko se tečajniki naučijo osnovne koncepte programiranja, jim ni težko preklopiti na kak drug programski jezik, ko je to potrebno.

Delo s strežniki

Strežnik (ang. server) je samo drugo ime za računalnik, ki je prižgan in priklopljen na internet 24 ur na dan. Tipična naloga spletnega strežnika je gostovanje spletne strani.

Torej, ko bo nekdo želel obiskati tvojo spletno stran, bo prek svojega brskalnika kontaktiral tvoj strežnik, in ta mu bo nato "postregel" s spletno stranjo.

Ko full-stack programer/ka napiše front-end in back-end kodo spletne aplikacije, potrebuje strežnik, na katerega to kodo naloži.

Čeprav imaš tak strežnik brez težav lahko doma, je veliko bolj običajno, da si strežnik najameš pri nekem ponudniku spletnega gostovanja. Pri nas sta taka ponudnika npr. Domenca in Domovanje. V globalnem merilu pa so največji trije ponudniki gostovanja Amazon Web Services (AWS), Microsoft Azure ter Google Cloud.

Vsi ti trije velikani ponujajo več različnih tipov strežnikov ter načinov upravljanja z njimi. Po eni strani lahko najameš strežnik, kjer moraš celotno konfiguracijo (npr. namestitve programov) opraviti sam.

Lahko pa, recimo, najameš tudi tak tip gostovanja, kjer za konfiguracijo in skalabilnost skrbi ponudnik gostovanja, ti pa samo naložiš svojo kodo gor in se ne ukvarjaš s konfiguracijo strežnika. Temu, vedno bolj priljubljenemu načinu, se reče "serverless" oz. "Platform-as-a-Service" (PaaS).


Čeprav mogoče izraz "full-stack programer/ka" na začetku zveni malce strašljivo, v resnici ni noben bav-bav.

Osnovno znanje front-enda, back-enda ter uporabe strežnika se da naučiti dokaj hitro, recimo že na našem tečaju Web development 1. Ta podlaga pa ti nato kasneje dobro služi pri poglabljanju znanja in pridobivanju novih izkušenj.

full stack spletno programiranje

Poglej si naše tečaje

Web development 1 (online)

Web development 1 (online)

Kjerkoli 17.08.2020

Nauči se izdelovanja spletnih strani in spletnih aplikacij. Na 12-tedenskem tečaju boš spoznal/a tako front-end (HTML, CSS) kot back-end (Python) programiranje!

od 449,00 EUR

Prijavi se na tečaj
SQL in baze podatkov (online)

SQL in baze podatkov (online)

Kjerkoli 24.08.2020

Znanje načrtovanja podatkovnih baz je ena najpomembnejših veščin pri razvoju IT produktov. Prijavi se in se ga nauči!

od 199,00 EUR

Prijavi se na tečaj

Prijavi se na sveže SmartNinja e-novice!