Uvod u klijentske skript jezike
Web stranice nisu samo statični dokumenti – one često sadrže interaktivne elemente koji omogućavaju korisnicima interakciju u realnom vremenu. Za implementaciju takvih funkcionalnosti koriste se klijentski skript jezici. Najpoznatiji i najrasprostranjeniji klijentski skript jezik je JavaScript, ali postoje i drugi poput VBScript (koji se danas manje koristi) i TypeScript (nadogradnja JavaScripta).
Šta su skripte?
Skripte su mali programi ili nizovi instrukcija koje se izvršavaju u okviru većih aplikacija ili sistema.
Program koji obrađuje i izvršava skripte zove se interpreter. Interpreter čita kôd i prevodi ga u mašinski jezik svaki put kada se pokrene skripta. To znači da se instrukcije prevode u mašinski jezik u trenutku kada se pokreću, red po red, onako kako se pojavljuju jedna iza druge. Svaki jezik koji se interpretira, tj. koji izvršava interpreter, naziva se skriptni jezik. Interpreter za JavaScript ugrađen je u većinu današnjih web browsera.
Šta su klijentski skript jezici?
Klijentski skript jezici su programski jezici namenjeni za pisanje programa (skripti) koji se izvršavaju direktno u web browseru. Omogućavaju dinamičko kreiranje web sadržaja, interakciju s korisnikom i poboljšanje korisničkog iskustva na web stranicama ( interaktivnost i dinamičnost web stranica).
JavaScript je jedan od najpoznatijih jezika koji se koristi za pisanje skripti na webu.
Kako to funkcioniše?
Klijentske skripte se obično uključuju u HTML dokumente putem <script> tag-a. Kada se stranica učita, pretraživač interpretira skript i izvršava ga na strani klijenta.
Malo detaljnije objašnjenje:
Odmah po zahtevu za određenom stranom koja sadrži klijentski skript, neophodni fajlovi se šalju na klijentski računar od strane web servera. Nakon toga, klijentski web browser izvršava skriptu i prikazuje dokument (web stranicu), sa svim vidljivim izlazima iz
klijentske skripte. Skripte klijentske strane takođe mogu sadržati instrukcije koje web browser
treba da sledi ako korisnik interaguje sa stranicom na određeni način, npr. ako klikne na
odgovarajuće dugme na dokumentu. Takve instrukcije se mogu izvršavati bez komunikacije
sa web serverom.
Ako korisnici pogledaju izvorni kod web strane koja sadrži klijentsku skriptu, mogu videti i kod te skripte. Mnogi web programeri uče kako da pišu klijentske skripte istražujući izvorne kodove dokumenata drugih autora.
Primer klijentske skripte
Zamislite web stranicu koja sadrži obrazac za registraciju. Kada korisnik unese svoje podatke i pritisne dugme "Pošalji", klijentska skripta može proveriti da li su svi obavezni podaci ispunjeni pre nego što se obrazac pošalje serveru.
Drugi primer: ako se na stranici pojavi neka animacija ili iskačući prozor,
najverovatnije je da je u pitanju neka skripta u pozadini.
-
Klijentski skript jezici (JavaScript, VBScript):
- Izvršavaju se na strani korisnika (klijenta), odnosno unutar web browsera.
- Koriste se za manipulaciju sadržajem stranice bez potrebe za komunikacijom sa serverom.
- Primer: Prikazivanje upozorenja kada korisnik ne unese ispravne podatke u formu.
-
Serverski skript jezici (PHP, Python, ASP.NET):
- Izvršavaju se na serveru pre nego što stranica bude poslata korisniku.
- Koriste se za obradu podataka, komunikaciju sa bazama podataka, i generisanje dinamičkog sadržaja koji se prikazuje korisnicima.
- Primer: Prikazivanje korisničkog profila nakon što se korisnik uspešno prijavi.
- Interaktivnost: Omogućavaju brze odgovore korisnicima bez potrebe za osvežavanjem stranice.
- Bolje korisničko iskustvo: Dinamički sadržaji i validacije podataka direktno na klijentu čine sajtove pristupačnijim i prijatnijim za korišćenje.
- Optimizacija performansi: Smanjuju opterećenje na server jer se deo logike izvršava na strani korisnika.
- DOM manipulacija: Klijentski skript jezici mogu pristupiti i menjati strukturu HTML dokumenta putem Document Object Model (DOM).
- Događaji: Reakcije na akcije korisnika (kao što su klikovi, unos teksta, pomeranje miša).
- Sigurnost: Izvršavanje skripti unutar pregledača ima određene sigurnosne ograničenja kako bi se zaštitili korisnici od potencijalnih napada.
Vežba:
- Posetite nekoliko web stranica koje često koristite. Zabeležite elemente koji mislite da su dinamički (promene bez ponovnog učitavanja stranice). Pokušajte da odredite koji elementi koriste klijentske skripte.