Циљ предмета
Упознавање са основама мрежног и веб програмирања, HTTP протокола, frontend (кориснички део) и backend (серверски део) програмирања. Познавање мрежног програмирања, врста протокола за комуникацију, њихових карактеристика. Разумевање динамичког креирања веб садржаја, појма сесије и начина праћења сесије. Познавање основа frontend програмирања, основних библиотека и окружења (framework) за програмирање клијентског дела веб апликације. Познавање REST концепта и програмирања серверског дела веб апликација. Напредни концепти у клијетнском делу: web sockets, приступ датотекама, локална складишта података. Разумевање концепта сигурности у свету веб апликација.
Теоријска настава
Основе мрежног програмирања. Протоколи, технике комуникације. HTTP протокол. Праћење сесије у HTTP протоколу. Појам колачића (cookie). Слање параметара и слање датотека. Сервлет као основа динамичког креирања веб садржаја. JSP као надоградња сервлетске технологије. Основни концепти програмирања у JavaScript програмском језику. DOM стабло, преглед и модификација из JavaScript-а. Основне библиотеке и окружења за frontend програмирање. Концепт REST-а. Размена података употребом JSON формата. АЈАX позиви. Основна окружења за backend програмирање. Сигурност у веб апликацијама. Основне врсте напада у веб апликацијама и одбрана од њих.
Практична настава
Писање клијентских и серверских апликација по задатом и слободном протоколу. Праћење корисника у мрежним апликацијама. Прављење једноставних веб сервера. Писање основних сервлета, праћење сесије, регистрација и пријава на сајт. Слање датотека на сервер. Писање JSP веб апликација. Писање једноставних JavaScript програма. Објектно оријентисано програмирање у JavaScript програмском језику. Употреба библиотека и окружења за писање клијентског дела веб апликације. Употреба web sockets и локалних репозиторијума. Писање серверског дела (backend). Употреба REST-а у комуникацији између клијентског и серверског дела кроз АЈАX позиве.