ha kunskap om protokoll som är relevanta för webb-applikationer, t.ex. http
ha ingående kunskap om programmeringsspråken JavaScript och TypeScript, bl.a. prototypbaserat objektorientering och hur this får ett värde
ha en förståelse för en webbsidas uppbyggnad, hur den representeras i webbläsare, samt hur JavaScript exekveras och interagerar med DOMen (webbläsaren som exekveringsplattform).
ha förståelse för möjligheter och begränsningar med enkeltrådiga asynkrona exekveringsmiljöer
ha kunskap om tekniker för lagring av data i webb-applikationer (t.ex. cookies, http-session, HTML5 local store och databas på serversidan)
kunna problematisera kring komponenters tillstånd vid asynkrona händelser och navigering i webbläsaren (t.ex. stöd för direktlänkar, navigering bakåt i webbläsarens historik) samt känna till tekniker för att hantera problemen.
ha förståelse för principerna i restful-api
Färdighet och förmåga
kunna utnyttja asynkrona programmeringstekniker för att skapa användarvänliga/responsiva webbapplikationer
kunna utveckla enkla webb-applikationer med hjälp av komponentbaserade ramverk så som React
kunna använda ramverk för layout, t.ex. tailwind eller material design, för att skapa ett modernt och enhetligt utseende på webbapplikationer
Kursinnehåll
HTML, CSS, DOM, JavaScript (prototypbaserad OO, this), TypeScript, asynkron programmering (promise), kapplöpning och deadlock, datalagring i webb-applikationer (cookies, http-session, HTML5 local store, databas på serversidan), http-protokollet, XMLHttpRequest/fetch, datarepresentation (character encoding, base64, json), restful-api, introduktion till aktuella ramverk för webb-utveckling (t.ex. tailwind and React).
Förutsättningar
EDAA01 Programmeringsteknik - fördjupningskurs eller EDAA30 Programmering i Java - fortsättningskurs