Sadržaj se učitava...
mdi-home Početna mdi-account-multiple Djelatnici mdi-script Studiji mdi-layers Katedre mdi-calendar-clock Raspored sati FOI Nastava search apps mdi-login
Razvoj Web aplikacija
Web Application Development
2024/2025
5 ECTSa
Informacijske tehnologije i digitalizacija poslovanja 1.3 (ITDP)
Studijski centar Križevci (ITDP 1.3)
Katedra za teorijske i primijenjene osnove informacijskih znanosti
RA
5. semestar
Osnovne informacijemdi-information-variant Izvođači nastavemdi-account-group Nastavni plan i programmdi-clipboard-text-outline Model praćenjamdi-human-male-board Ispitni rokovimdi-clipboard-check-outline Rasporedmdi-calendar-clock Konzultacijemdi-account-voice
Izvođenje kolegija
Studij Studijski program Semestar Obavezan
Informacijske tehnologije i digitalizacija poslovanja 1.3 (ITDP) Razvoj aplikacija 5 obavezan
Cilj kolegija
Cilj predmeta je upoznavanje studenata s razvojem web aplikacija. Predmetom se obrađuju moduli cjelovitog rješenja složene web aplikacije. Predmet prati različite oblike realizacije Web projekata tako da se studentima pruža uvid u pojedine tehnološke i programske mogućnosti koje mogu primijeniti u konkretnim situacijama. Posebno se obrađuju moderni pristup razvoju web aplikacija uz primjenu programskih okvira za korisničku i pozadinsku stranu. Studenti tijekom praktičnog dijela predmeta rade vježbe kojima postepeno razvijaju pojedine gradive blokove kasnijih web aplikacija. Prezentacijom izabranih rješenja zadaća otvara se diskusija tijekom koje studenti mogu izraziti svoje mišljenje o realizaciji pojedinih modula i drugim dogovorenim kriterijima kvalitete, čime se potiče kritičko razmišljanje o tuđem i vlastitom rješenju.
Preduvjeti
Norma kolegija
Predavanja
30 sati
Vježbe u praktikumu
30 sati
Nastavnik Uloga na kolegiju Oblik nastave Tjedana Sati Grupa
Kermek Dragutin Nositelj
Kaniški Matija Suradnik
Novak Matija Suradnik
Maček Marija Suradnik
Sadržaj predavanja
  • Struktura Web aplikacija (2 + 1 sat)
    Analiza osobina poznatih web aplikacija. Prepoznavanje osnovnih modula (prijavljivanje korisnika, dnevnik rada, košarica, pregledi sa straničenjem, galerija fotografija,...) i njihovih osobina. Analiza modela standardne i jednostranične web aplikacije. Optimizacija za podizanje ranga kod web pretraživača (SEO).
  • CSS okviri za korisnički dio Web aplikacije (2 + 3 sat)
    Analiza dizajna poznatih web aplikacija i njihovog korištenja CSS-a. Analiza osobina poznatih CSS okvira. Prednosti i nedostaci poznatih CSS okvira. Proširenja/predprocesori CSS-a (npr. SaSS, LeSS).
  • Pozadinski dio Web aplikacije (7 + 8 sata).
    Usporedba programskih jezika (PHP, JavaScript, C#, JSP, Python, Ruby on Rails,...). Generiranje HTML sadržaja. Osnovne operacije s bazom podataka (dodavanje, ažuriranje, izdvajanje) u izabranom programskom jeziku. Osnove realizacije REST web servisa – postavke za rad, pravila i preporuke za korištenje metoda i vrste podataka. Prihvat podataka iz zahtjeva i generiranje JSON i drugih vrsta sadržaja.
  • Aktivno korisničko sučelje Web stranice (4 + 4 sata).
    Analiza aktivnog/dinamičkog korisničkog sučelja poznatih web aplikacija. Osobine asinkronog dobavljanja podataka putem Ajax-a. Osobine podrške u pregledniku za Ajax. Pozivanje REST servisa. Upravljanje događajima kroz pripadajuće rukovatelje događaja. Vremenom upravljanje akcije (tzv. timer). Realizacija jednostranične web aplikacije.
  • JavaScript programski okviri za korisnički dio Web aplikacije (4 + 5 sata).
    Analiza osobina poznatih JavaScript programskih okvira. Prednosti i nedostaci poznatih JavaScript programskih okvira. Proširenja JavaScript jezika (npr. TypeScript). Realizacija korisničkog dijela dinamičke Web stranice s responzivnim osobinama uz korištenje CSS i JavaScript programskih okvira.
  • Upravljanje radom korisnika (2 + 2 sata).
    Osobine spremanja podataka o korisniku lokalno u pregledniku (putem kolačići, eng. cookie i spremišta (eng. Web storage) i na poslužitelju (putem sjednice, eng. session). Modeli autentikacije i autorizacije korisnika. JavaScript API za rad s korisničkim podacima. API za poslužiteljsku stranu rad s korisničkim podacima. Jednostruka i višestruka autentikacija. Sustavi jedinstvene autentikacije. Primjena otvorenih standarda (npr. OAuth, OpenID). Ograničenje pristupa web robotima putem postavki web poslužitelja i prilikom unosa podataka (npr. CAPTCHA, reCAPTCHA).
  • Rad s datotečnim sustavom, datumskim i drugim tipovima podataka (2 + 1 sata).
    Osobine korištenja datotečnog sustava u web aplikacijama s naglaskom na sigurnost i potrebne postavke web poslužitelja. API za poslužiteljsku stranu za rad s datotekama i mapama. Specifičnosti različitih formata datumskih podataka te njihovo pretvaranje u traženi oblik.
  • Povezivanje s drugim sustavima (1 + 1 sat).
    Otvorenost web aplikacija. Komunikacija s drugim ne-Web sustavima npr. slanje email poruke, korištenje LDAP
  • Programski okviri izabranog programskog jezika za pozadinski dio Web aplikacije (4 + 4 sata).
    Analiza osobina poznatih programskih okvira izabranog programskog jezika. Prednosti i nedostaci poznatih programskih okvira. Realizacija pozadinskog dijela dinamičke Web uz korištenje određenog programskog okvira.
  • Mjerenje opterećenja web aplikacije (2 + 1 sat).
    Mjerenje opterećenja, analiza dobivenih podataka, podešavanje postavki Web poslužitelja i poboljšanje web aplikacije.
Sadržaj seminara/vježbi
Ishodi učenja kolegija
  • Analizirati osobine programskih jezika i okvira za realizaciju pozadinskog dijela web aplikacija (eng. Back-end).
  • Osmisliti arhitekturu web aplikacije uz odabir prikladnih tehnologija (web poslužitelj, programski jezici i okviri, spremište podataka i sl.) Na temelju zadanog opisa.
  • Primijeniti zadane oblike autentikacije i autgorizacije korisnika u razvoju web aplikacije
  • Izgraditi interaktivnu web aplikaciju pomoću odabranih tehnologija.
  • Usporediti osobine razvoja web aplikacije s i bez programskih okriva za korisničku i/ili poslužiteljsku stranu
  • Predložiti poboljšanja web aplikacije temeljem analize opterećenja web mjesta i opisane latencije pomoću vremenskog dijagrama.
Ishodi učenja programa
  • Identificirati i analizirati bitne interne i vanjske čimbenike koji utječu na odabir poslovnih prilika te na efikasnost poslovanja određenog poslovnog subjekta na domaćem i međunarodnom tržištu
  • Vrednovati rezultata poslovanja i interpretirati pokazatelje uspješnosti za potrebe upravljanja i donošenja poslovnih odluka
  • Primijeniti koncepte poduzetništva i poduzetnog djelovanja kako unutar postojećih poslovnih subjekata tako i u okviru pokretanja vlastitih poduzetničkih poduhvata
  • Predložiti i primijeniti metode komuniciranja s klijentima, korisnicima i kolegama usmenim i pismenim putem primjenom odgovarajuće terminologije, uključujući i sposobnost komunikacije o struci na stranom jeziku
  • Odabrati i koristiti informacijsko komunikacijske tehnologije u djelovanju poslovnih sustava
  • Odabrati odgovarajuću organizacijsku arhitekturu na razinama odlučivanja, upravljanja i izvođenja u organizacijama privatnog i javnog sektora primjenom Informacijsko komunikacijske tehnologije
  • Upravljati životnim ciklusom proizvoda, usluga, kao i životnim ciklusom razvoja informacijskog sustava
  • Predložiti i primijeniti temeljne metode razvoja informacijskih sustava u području modeliranja i izgradnje jednostavnih programskih rješenja
  • Predložiti i primijeniti metode razvoja programske potpore za jednostavne organizacijske procese na razini izvođenja
  • Izraditi i održavati dokumentaciju potrebnu za instalaciju, konfiguraciju, prilagodbu, administraciju i zaštitu informacijskih sustava
  • Razumjeti ulogu i održavati operacijski sustav te mrežnu i podatkovnu infrastrukturu
  • Odabrati i primijeniti metode iz područja programiranja, podatkovnih tehnologija i modeliranja podataka i procesa u problemskim domenama
  • Razumjeti i primijeniti odabranih matematičkih tema iz logike, relacija, linearne algrebre i statistike koje su temelj za usvajanje informatičkih i ekonomskih znanja
  • Odabrati i primijeniti odabrane tehnike zaštite informacijskih sustava uz poznavanje zakonskih i normativnih okvira za informacijsku i računalnu sigurnost
  • Planirati i podržati uvođenje novih informacijskih tehnologija za potporu organizacijskim procesima
  • Primijeniti odgovarajuće metode i alate za potporu u obradi, interpretaciji i vizualizaciji podataka za potporu u donošenju odluka
  • Primijeniti vještine učenja (uključujući i e-učenje) i planiranja potrebnih za cjeloživotno učenje, nastavak obrazovanja na diplomskom studiju te razvoj karijere u struci
Osnovna literatura
  • Emmit Scott, SPA Design and Architecture: Understanding Single Page Web Applications, Manning Publications, 2015
  • Duckett, J. JavaScript and JQuery: Interactive Front-End Web Development, John Wiley & Sons, 2014.
  • Yakov Fain, Anton Moiseev, Angular Development with Typescript, Manning Publications, 2018.
  • Flanagan, D. JavaScript: The Definitive Guide: Master the World's Most-Used Programming Language 7th Edition, O'Reilly Media, 2020.
Dopunska literatura
  • Anirudh Prabhu, Beginning CSS Preprocessors: With SASS, Compass.js, and Less.js, Apress, 2015
  • Martine Dowden and Michael Dowden, Architecting CSS: The Programmer’s Guide to Effective Style Sheets, Apress, 2020
  • Steve Prettyman, Learn PHP 8: Using MySQL, JavaScript, CSS3, and HTML5, Apress, 2020
  • Gunnard Engebreth, PHP 8 Revealed: Use Attributes, the JIT Compiler, Union Types, and More for Web Development, Apress, 2021
  • Malcolm McDonald, Web Security for Developers, No Starch Press, 2020
  • Sai Matam and Jagdeep Jain, Pro Apache JMeter: Web Application Performance Testing, Apress, 2017
Slični kolegiji
Redoviti studenti Izvanredni studenti
U kalendaru ispod se nalaze konzultacije predmetnih nastavnika, no za detalje o konzultacijama možete provjeriti na profilu pojedinog predmetnog nastavnika.
2024 © Fakultet organizacije i informatike, Centar za razvoj programskih proizvoda