Циљ и исход предмета
Основни циљ предмета је упознавање са принципима пројектовања и развоја веб апликација са фокусом на
скриптне језике.
Студенти стичу потребна знања и вештине и оспособљени су за пројектовање и развој веб апликација и
сервиса коришћењем скриптних језика.
Теоријска настава
Основе веб програмирања. Проблеми и задаци презентационог, апликационог и слоја сесије референтног OSI
и TCP/IP модела. Основе развоја клијентске стране веб апликација. Улога клијентских технологија у
савременим архитектурама веб система. Размена података са различитим слојевима веб апликације. XML
технологије за меморисање, обраду и визуелизацију података презентационог слоја. JSON. JSON API.
RESTful архитектуре. Основе JavaScript-а. ES6. DOM. JS библиотеке. АЈАX. Развојни оквири. MVC. VueJS.
Примена развојних оквира у развоју апликација. Two-way data binding, управљање догађајима, рендеровање
података, компоненте, дирeктиве, рад са елементима DOM, Dependency Injection. Основе развоја серверске
стране веб апликација. Улога серверских технологија у савременим архитектурама веб система. Размена
података са различитим слојевима веб апликације. RESTful архитектуре. Веб сервиси. Конектори и
адаптери. Развој API-ја. Платформе за управљање API-јем. Упоредни преглед технологија серверске стране.
Ruby on rails. Python. Развојни оквири. Примена развојних оквира у развоју апликација. Управљање
рутирањем, ОРМ. NodeJS. Управљање сесијом и кеширањем. Оптимизација серверске стране апликација.
Практична настава
HTML5, CSS3, CSS препроцесори. XML технологије, DOM и манипулација над XML документима. JSON
формат за серијализацију података. Фронтенд оквири и библиотеке Bootstrap. Foundation. Semantic. Основе
JavaScript програмског језика. Функције, изрази и оператори. Текстуално форматирање. Регуларни изрази.
IIFE и анонимне функције. Структуре. Колекције. Објекти. Прототипно наслеђивање. Модуларни патерн.
JSON. JSON API. Визуелизација. ChartJS. DataTables. XML. JavaScript библиотеке. JQuery. JavaScript оквири.
JavaScript компајлери и управљање пакетима. Front-end оквир – VueJS. Верзионисање кода. Git. Python.
Основна синтакса, променљиве, оператори, контрола тока и итерације, функције и уграђене функције.
Напредне функције за руковање колачићима (cookies), напредне функције за управљање сесијама.
Коришћење сесија на примеру форме и веб продавнице. Објектно оријентисано програмирање у Python-у.
Имплементација слоја података. Python и рад са базама података. MySQL и CRUD операције у Python-у.
Складиштење и пренос података у веб окружењу. Асинхрони позиви ка серверу и ажурирање података у
реалном времену. Python, АЈАX и MySQL. Сигурност и безбедност у Python апликацијама. Сервисно
оријентисана архитектура. SOAP. REST. Веб сервиси. Развој и документација сопственог REST сервиса.
Јавни веб сервиси. Развој апликација са MVC архитектуром. Оквири за развој апликација Django/NodeJS.