Скрипт језици

Циљ и исход предмета

Основни циљ предмета је упознавање са принципима пројектовања и развоја веб апликација са фокусом на скриптне језике. Студенти стичу потребна знања и вештине и оспособљени су за пројектовање и развој веб апликација и сервиса коришћењем скриптних језика.

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

Основе веб програмирања. Проблеми и задаци презентационог, апликационог и слоја сесије референтог OSI и TCP/IP модела. Основе развоја клијентске стране веб апликација. Улога клијентских технологија у савременим архитектурама веб система. Размена података са различитим слојевима веб апликације. XML технологије за меморисање, обраду и визуелизацију података презентационог слоја. JSON. JSON API. RESTful архитектуре. Основе JavaScript-а. ES6. DOM. JS библиотеке. AJAX. Развојни оквири. MVC. VueJS. Примена развојних оквира у развоју апликација. Two-way data binding, управљање догађајима, рендеровање података, компоненте, диркетиве, рад са елементима DOM, Dependency Injection. Основе развоја серверске стране веб апликација. Улога серверских технологија у савременим архитектурама веб система. Размена података са различитим слојевима веб апликације. RESTful архитектуре. Веб сервиси. Конектори и адаптери. Развој API-ја. Платформе за управљање API-јем. Упоредни преглед технологија серверске стране. Ruby on rails. Python. Развојни оквири. Примена развојних оквира у развоју апликација. Управљање рутирањем, ORM. 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, AJAX и MySQL. Сигурност и безбедност у Python апликацијама. Сервисно оријентисана архитектура. SOAP. REST. Веб сервиси. Развој и документација сопственог REST сервиса. Јавни веб сервиси. Пазвој апликација са MVC архитектуром. Оквири за развој апликација Django/NodeJS.