Web програмирање

Циљ предмета

Упознавање са основама мрежног и веб програмирања, HTTP протокола, frontend (кориснички део) и backend (серверски део) програмирања. Познавање мрежног програмирања, врста протокола за комуникацију, њихових карактеристика. Разумевање динамичког креирања веб садржаја, појма сесије и начина праћења сесије. Познавање основа фронтенд програмирања, основних библиотека и окружења (framework) за програмирање клијентског дела веб апликације. Познавање REST концепта и програмирања серверског дела веб апликација. Напредни концепти у клијетнском делу: web sockets, приступ датотекама, локална складишта података. Разумевање концепта сигурности у свету веб апликација.

Теоријска настава

Основе мрежног програмирања. Протоколи, технике комуникације. HTTP протокол. Праћење сесије у HTTP протоколу. Појам колачића (cookie). Слање параметара и слање датотека. Сервлет као основа динамичког креирања веб садржаја. JSP као надградња сервлетске технологије. Основни концепти програмирања у JavaScript програмском језику. DOM стабло, преглед и модификација из JavaScript-а. Основне библиотеке и окружења за frontend програмирање. Концепт REST-а. Размена података употребом JSON формата. AJAX позиви. Основна окружења за backend програмирање. Сигурност у веб апликацијама. Основне врсте напада у веб апликацијама и одбрана од њих.

Практична настава

Писање клијентских и серверских апликација по задатом и слободном протоколу. Праћење корисника у мрежним апликацијама. Прављење једноставних веб сервера. Писање основних сервлета, праћење сесије, регистрација и пријава на сајт. Слање датотека на сервер. Писање JSP веб апликација. Писање једноставних ЈаваСцрипт програма. Објектно оријентисано програмирање у JavaScript програмском језику. Употреба библиотека и окружења за писање клијентског дела веб апликације. Употреба wеб соцкетс и локалних репозиторијума. Писање серверског дела (backend). Употреба REST-а у комуникацији између клијентског и серверског дела кроз AJAX позиве.