Spletno programiranje
Osnovni podatki
Opis predmeta
Predavanja:
Uvod
- Delovanje spleta; razvoj interneta, arhitektura klient-strežnik; komunikacijski protokol HTTP
- Osnovni spletni standardi: HTML (DHTML…), CSS; osnove oblikovanja
Tehnologije na strani odjemalcev
- JavaScript, rokovanje z dogodki, DOM, specifike posameznih brskalnikov, obrazci, validacija vnosov, JQuery
- HTML5 Canvas
- asinhnroni zahtevki z Ajax
- aplikacije na eni strani
Strežniške tehnologije
- Pregled osnov strežniških tehnologij; delovanje skript, dinamično generiranje strani, HTTP GET in POST zahtevki, piškotki (cookies)
- Spletne aplikacije v tehnologiji JavaScript.
Ostalo
- XML tehnologije. Sintaksa XML. Sheme. Pregledovanje dokumentov XML. Modeli in jeziki: DOM, SAX, XSLT, XPath, XQuery, Open XML.
- Dostop aplikacijskega strežnika do podatkovne baze
- REST spletne storitve. Storitveno usmerjena arhitektura. Pisanje porazdeljenih aplikacij.
- Varnost na spletu. Upravljanje z identitetami. Profiliranje uporabnikov.
- Web 2.0. Semantični splet.
Vaje:
Laboratorijski projekt izdelave celostne rešitve porazdeljene spletne aplikacije, razdeljen v posamezne faze (statične strani, kode na strani odjemalca, strežniška koda, storitve) in samostojno delo na projektih z zaključno predstavitvijo študentov.
Cilji
Cilj predmeta je študentom računalništva in informatike predstaviti tehnologije povezane z razvojem spletnih aplikacij z vidika celostne rešitve, tako na strani odjemalca, kot strežnika in usposabljanje študentov za samostojen razvoj tovrstnih aplikacij.
Predvidene kompetence:
- poznavanje statičnih tehnologij HTML, CSS, XML,
- poznavanje programskega jezika JavaScript za razvoj na strani odjemalca,
- poznavanje tehnologije Node.js (programski jezik JavaScript) za razvoj na strani strežnika,
- poznavanje NoSQL podatkovne baze MongoDB,
- razvoj z uporabo spletnih storitev,
- snovanje aplikacij v arhitekturi model-pogled-kontrola,
- razvoj z upoštevanjem principov varnosti.
Metode poučevanja in učenja
Predavanja s praktičnimi demonstracijami, izvajanje laboratorijskega projekta pod mentorstvom asistenta.