Cilj predmeta
Upoznavanje sa osnovama mrežnog i veb programiranja, HTTP protokola, frontend (korisnički deo) i backend (serverski deo) programiranja. Poznavanje mrežnog programiranja, vrsta protokola za komunikaciju, njihovih karakteristika. Razumevanje dinamičkog kreiranja veb sadržaja, pojma sesije i načina praćenja sesije. Poznavanje osnova frontend programiranja, osnovnih biblioteka i okruženja (framework) za programiranje klijentskog dela veb aplikacije. Poznavanje REST koncepta i programiranja serverskog dela veb aplikacija. Napredni koncepti u klijetnskom delu: web sockets, pristup datotekama, lokalna skladišta podataka. Razumevanje koncepta sigurnosti u svetu veb aplikacija.
Teorijska nastava
Osnove mrežnog programiranja. Protokoli, tehnike komunikacije. HTTP protokol. Praćenje sesije u HTTP protokolu. Pojam kolačića (cookie). Slanje parametara i slanje datoteka. Servlet kao osnova dinamičkog kreiranja veb sadržaja. JSP kao nadogradnja servletske tehnologije. Osnovni koncepti programiranja u JavaScript programskom jeziku. DOM stablo, pregled i modifikacija iz JavaScript-a. Osnovne biblioteke i okruženja za frontend programiranje. Koncept REST-a. Razmena podataka upotrebom JSON formata. AJAX pozivi. Osnovna okruženja za backend programiranje. Sigurnost u veb aplikacijama. Osnovne vrste napada u veb aplikacijama i odbrana od njih.
Praktična nastava
Pisanje klijentskih i serverskih aplikacija po zadatom i slobodnom protokolu. Praćenje korisnika u mrežnim aplikacijama. Pravljenje jednostavnih veb servera. Pisanje osnovnih servleta, praćenje sesije, registracija i prijava na sajt. Slanje datoteka na server. Pisanje JSP veb aplikacija. Pisanje jednostavnih JavaScript programa. Objektno orijentisano programiranje u JavaScript programskom jeziku. Upotreba biblioteka i okruženja za pisanje klijentskog dela veb aplikacije. Upotreba web sockets i lokalnih repozitorijuma. Pisanje serverskog dela (backend). Upotreba REST-a u komunikaciji između klijentskog i serverskog dela kroz AJAX pozive.