CILJ KOLEGIJA:
Studente osposobiti za:
- izradu složenih grafičkih korisničkih sučelja s ponovno iskoristivim komponentama;
- primjenu uobičajenih obrazaca za implementaciju korisničkih sučelja;
- upoznati se s automatizacijom testiranja korisničkih sučelja te procesom kompilacije koda;
- rad u timu i primjenu odgovarajućih softverskih alata prilikom izrade projektnog zadatka.
NASTAVNI SADRŽAJI:
1. Struktura suvremenih sučelja. Protokol HTTP. Napredni koncepti u HTML-u i CSS-u. Napredna sintaksa i semantika suvremenog JavaScripta. Klasični obrasci (npr. MVC, MVP i MVVP). Odabrana biblioteka za razvoj korisničkih sučelja i pripadni ekosustav (npr. Vue.js ili React). Osnove upravljanja stanjem. Injektiranje ovisnosti. Rute. Kompilacija i isporuka sučelja. Autorizacija i autentikacija s klijentske strane. HTTPS, sigurnosni izazovi, češći oblici napada i načini zaštite.
2. Implementacija sučelja. Upravljanje paketima i projektima. CSS konvencije i pretprocesori. TypeScript i transkompilacija. Napredno korištenje alata za kompilaciju i optimizaciju (npr. tree shaking). Automatizirana detekcija problema (tzv. linting) i formatiranje izvornog koda. Predlošci, JSX i funkcionalne komponente. Reaktivnost i jedinice reaktivnosti (tzv. composables). Upravljanje stanjem, pirmjerice kroz tzv. mutacije i akcije. Sinkronizacija s udaljenim servisima. Websockets. Obrada iznimaka. Sustavi dizajna na relevantnom primjeru (npr. Material design). Optimizacija renderiranjem na strani poslužitelja (SSR).
3. Izabrane teme. Performanse i lijeno učitavanje. Desktop i mobilna sučelja koristeći moderne biblioteke i obrasce. Servisi. Progresivne aplikacije. Binarni kod u pregledniku. Jedinični testovi. Integracijski testovi. Funkcionalni testovi. Optimizacija za internetske pretraživače (SEO). Pristupačnost.
|
-
Eloquent JavaScript, M. Haverbeke, No Starch Press, 2018.
-
Learning Patterns, Lydia Hallie, Addy Osmani, self-published digital release, 2022.
-
Vue: The Road To Enterprise, Thomas Findlay, self-published digital release, 2022.
-
Collection of articles "Mozilla Developer Network", https://developer.mozilla.org.
-
Documentation for the React framework, https://reactjs.org.
-
Documentation for the Vue.js framework, https://vuejs.org.
-
Collection of open-source articles "You Don't Know JS Yet", https://github.com/getify/You-Dont-Know-JS.
|