← Razina 3 – Majstor

Lekcija 7 od 10 ⏱ 20 minuta Premium

Što je server i čemu služi Node.js

Gdje web stranica zapravo živi, što je API i zašto obrazac iz razine 2 nije imao kamo poslati poruke.

Sjećaš li se obrasca bez primatelja?

U razini 2 si napravio obrazac koji provjeri poruku, zahvali… i zatim je baci. Nije bilo gdje je spremiti. Tvoja web stranica do sada može samo razdavati gotove datoteke – ne može primiti i zapamtiti ništa. Za to treba server. I to je upravo ono što ćeš sada naučiti graditi.

Frontend i backend

Svaka velika aplikacija (Instagram, online škola, online trgovina) ima dvije polovice:

Kako dvije polovice razgovaraju? Preko API-ja (Application Programming Interface) – dogovorenih adresa na kojima backend odgovara. Evo uzorka razgovora:

Frontend:  GET /api/messages         ("Send me all the messages.")
Backend:   [{ "name": "Grandma", "text": "Lovely website!" }]

Frontend:  POST /api/messages        ("Here's data, save it: ...")
Backend:   { "saved": true }

Podaci se šalju u JSON formatu – izgleda gotovo kao JavaScript objekti koje znaš iz kviza. Sretna slučajnost? Ne – JSON znači JavaScript Object Notation. Na tvojoj je strani.

Gdje takav backend radi?

Tijekom razvoja na tvom računalu (localhost – znaš iz Vitea). U produkciji na računalu koje je uvijek uključeno i spojeno – ili unajmljeni “kriška” servera (VPS) ili servis koji sve riješi za tebe (Render, Railway…). Do objave dolazimo u završnoj lekciji.

💡

Za što je onda GitHub Pages? To je hosting samo za frontend – razdaje datoteke, ništa više. Savršeno za web stranicu iz razine 1–2 (i najsigurnije: gdje ništa ne radi, ništa se ne može hakirati). Backend trebaš u trenutku kad web stranica mora primati i pamtiti nešto – poruke, prijave, korisnike.

Sad si ti na redu 💪 (mini misija iz znatiželje)

  1. Otvori omiljenu web stranicu, pritisni F12 i prebaci se na karticu Network. Osvježi stranicu i gledaj vodopad zahtjeva – svaki redak je jedan razgovor između preglednika i servera.
  2. Pronađi GET zahtjev na popisu i jedan koji vraća JSON (stupac Type: json ili fetch). Klikni ga i pogledaj odgovor – vidjet ćeš podatke od kojih je stranica sastavljena.
  3. Upiši ovo u konzolu i gledaj kako frontend sam traži podatke:
fetch("https://api.chucknorris.io/jokes/random")
  .then((response) => response.json())
  .then((data) => console.log(data.value));

fetch(...) je JavaScript naredba “pozovi API.” U lekciji 9 koristit ćeš ovu naredbu da povežeš obrazac sa svojim serverom.

Provjeri sam sebe: Možeš svojim riječima objasniti razliku između frontenda i backenda, znaš što su GET, POST i JSON, i vidio si u Network panelu kako web stranice razgovaraju. U sljedećoj lekciji takav server ćeš izgraditi sam.

Što ćeš ponijeti iz ove lekcije