Cilji in kompetence
Cilj predmeta je naučiti študenta implementirati spletne aplikacije s trenutno aktualnimi spletnimi tehnologijami, programskimi orodji, skriptnimi in programskimi jeziki za razvoj spletnih aplikacij.
Vsebina
• Zgodovina spletnih aplikacij.
• Življenjski cikel gradnje spletnih aplikacij, spletni strežniki, brskalniki.
• Lastnosti spletnih aplikacij: piškotki, seje, zmogljivost, predpomnenje, zanesljivost, varnost.
• Izmenjava podatkov (JSON, XML), serializacija in deserializacija.
• Spletne storitve (SOAP, REST).
• NoSQL baze za uporabo v spletnih aplikacijah (npr. MongoDB).
• Načrtovalski vzorec MVC (model-view-controller).
• Celostna arhitektura spletnih aplikacij.
• Skladi rešitev: LAMP, MEAN, MERN, MERNG.
• Programiranje na strežniku:o Node.js, npm, Express, Mongoose, itd.
• Programiranje na odjemalcu:o React, Angular.
• Pogledi in šablone.
• Enostranske spletne aplikacije.
• Globoko povezovanje.
• Evolucija spletnih aplikacij (Responsive Web Design, Progressive Web Apps).
• Načrtovanje dobre spletne aplikacije (stilski vodiči, prelomne točke, Material Design, internacionalizacija, podpora za omejene uporabnike).
• JavaScript in translatorji (TypeScript).
• Trendi pri programiranju na odjemalcu (Redux).
• Hibridne mobilne aplikacije (Flutter, React Native, Ionic).
• Skalabilnost spletnih aplikacij (Heroku).
• Prihodnost spletnih aplikacij (WebAssembly).
• Socialna omrežja in tehnologije spleta.
• Portali, sistemi za upravljanje z vsebino, dokumentni sistemi, priporočilni sistemi, pomenski splet.
• Generatorji statičnih spletnih strani (Jekyll).
Metode poučevanja in učenja
• predavanja,
• laboratorijske vaje,
• delo v skupini.
Predvideni študijski rezultati - znanje in razumevanje
• izkazati znanje in razumevanje spletnega programiranja
• izbrati ustrezne tehnologije za razvoj spletne aplikacije
• uporabljati skriptne jezike pri razvoju čelnega in zalednega dela spletne aplikacije
• uporabljati trenutno aktualne programske jezike pri razvoju poslovne logike in podatkovnega sloja spletnih aplikacij
• analizirati, načrtovati, izdelati, testirati in promovirati spletno aplikacijo
• izdelati spletno storitev
Predvideni študijski rezultati - Prenosljive/ključne spretnosti in drugi atributi
• Spretnosti komuniciranja: ustni zagovor laboratorijskih vaj, ustno izražanje na ustnem izpitu, pisno izražanje pri pisnem izpitu.
• Uporaba informacijske tehnologije: uporaba programskih orodij za načrtovanje, implementacijo, razhroščevanje in testiranje spletnih aplikacij.
• Reševanje problemov: načrtovanje in implementacija spletnih aplikacij.
• Delo v skupini: študenti v skupini analizirajo, načrtujejo, izdelajo in testirajo spletno aplikacijo.
Temeljni literatura in viri
• Bugl, D. (2024). Modern full-stack react projects: build, maintain, and deploy modern web apps using MongoDB, Express, React, and Node.js (p. XXIII, 480). Packt Publishing.
• Ullman, L. E. (2012). Modern JavaScript: develop and design (p. XII, 611). Peachpit Press.
Pogoji za vključitev v delo oz. za opravljanje študijskih obveznosti
Pogojev ni.
Podrobnosti o izvedbi in ocenjevanju Pisni izpit se lahko nadomesti s kolokviji v enakem deležu 50 %.