Cilj i ishod predmeta
Osnovni cilj predmeta je upoznavanje sa principima projektovanja i razvoja veb aplikacija sa fokusom na
skriptne jezike.
Studenti stiču potrebna znanja i veštine i osposobljeni su za projektovanje i razvoj veb aplikacija i
servisa korišćenjem skriptnih jezika.
Teorijska nastava
Osnove veb programiranja. Problemi i zadaci prezentacionog, aplikacionog i sloja sesije referentnog OSI
i TCP/IP modela. Osnove razvoja klijentske strane veb aplikacija. Uloga klijentskih tehnologija u
savremenim arhitekturama veb sistema. Razmena podataka sa različitim slojevima veb aplikacije. XML
tehnologije za memorisanje, obradu i vizuelizaciju podataka prezentacionog sloja. JSON. JSON API.
RESTful arhitekture. Osnove JavaScript-a. ES6. DOM. JS biblioteke. AJAX. Razvojni okviri. MVC. VueJS.
Primena razvojnih okvira u razvoju aplikacija. Two-way data binding, upravljanje događajima, renderovanje
podataka, komponente, direktive, rad sa elementima DOM, Dependency Injection. Osnove razvoja serverske
strane veb aplikacija. Uloga serverskih tehnologija u savremenim arhitekturama veb sistema. Razmena
podataka sa različitim slojevima veb aplikacije. RESTful arhitekture. Veb servisi. Konektori i
adapteri. Razvoj API-ja. Platforme za upravljanje API-jem. Uporedni pregled tehnologija serverske strane.
Ruby on rails. Python. Razvojni okviri. Primena razvojnih okvira u razvoju aplikacija. Upravljanje
rutiranjem, ORM. NodeJS. Upravljanje sesijom i keširanjem. Optimizacija serverske strane aplikacija.
Praktična nastava
HTML5, CSS3, CSS preprocesori. XML tehnologije, DOM i manipulacija nad XML dokumentima. JSON
format za serijalizaciju podataka. Frontend okviri i biblioteke Bootstrap. Foundation. Semantic. Osnove
JavaScript programskog jezika. Funkcije, izrazi i operatori. Tekstualno formatiranje. Regularni izrazi.
IIFE i anonimne funkcije. Strukture. Kolekcije. Objekti. Prototipno nasleđivanje. Modularni patern.
JSON. JSON API. Vizuelizacija. ChartJS. DataTables. XML. JavaScript biblioteke. JQuery. JavaScript okviri.
JavaScript kompajleri i upravljanje paketima. Front-end okvir – VueJS. Verzionisanje koda. Git. Python.
Osnovna sintaksa, promenljive, operatori, kontrola toka i iteracije, funkcije i ugrađene funkcije.
Napredne funkcije za rukovanje kolačićima (cookies), napredne funkcije za upravljanje sesijama.
Korišćenje sesija na primeru forme i veb prodavnice. Objektno orijentisano programiranje u Python-u.
Implementacija sloja podataka. Python i rad sa bazama podataka. MySQL i CRUD operacije u Python-u.
Skladištenje i prenos podataka u veb okruženju. Asinhroni pozivi ka serveru i ažuriranje podataka u
realnom vremenu. Python, AJAX i MySQL. Sigurnost i bezbednost u Python aplikacijama. Servisno
orijentisana arhitektura. SOAP. REST. Veb servisi. Razvoj i dokumentacija sopstvenog REST servisa.
Javni veb servisi. Razvoj aplikacija sa MVC arhitekturom. Okviri za razvoj aplikacija Django/NodeJS.