Stödjande inspelningar
Kurslitteraturen är en av de delar som driver kursen framåt, men det kan vara svårt att själv strukturera upp innehållet. Vad är relevant? Vad ska vi fokusera på i kursen? De stödjande inspelningarna gör vi för att just ge detta sammanhang. Det är av yttersta vikt att du tar del av dessa!
Kursvecka 8 - Webbläsaren och Javascript
Section titled “Kursvecka 8 - Webbläsaren och Javascript”Webbläsaren och Javascript
Section titled “Webbläsaren och Javascript”Vi tittar på hur webbläsaren är uppbyggd och vad vi ska tänka på när vi länkar in javascript i webbläsaren.
1h 13m | Presentation
Varför Javascript i webbläsaren?
Section titled “Varför Javascript i webbläsaren?”6m | Presentation
Introduktion till “Custom elements” och webbkomponenter
Section titled “Introduktion till “Custom elements” och webbkomponenter”Kan vi bygga våra egna html element? Absolut! Vi tittar på hur.
19m | Presentation
Kursvecka 9 - HTML-element
Section titled “Kursvecka 9 - HTML-element”HTML Element and the Document Object Model
Section titled “HTML Element and the Document Object Model”1h 56m | Presentation
- Introduktion
- Document Object Model (DOM)
- Selecting Nodes (Legacy)
- Selecting Nodes (Selectors API)
- Traversing the DOM
- Manipulatation of the DOM
- Creating Nodes
- Working with attributes
- Separation of concerns
- Styling with Javascript
- HTML Templates
Kursvecka 10 - Webbkomponenter
Section titled “Kursvecka 10 - Webbkomponenter”Webbkomponenter - En introduktion till “Custom Elements”
Section titled “Webbkomponenter - En introduktion till “Custom Elements””20m | Presentation
- Templates as Strings in Javascript
- Custom Elements
- Custom Elements - Timing in loading
- Custom Elements - Naming
Webbkomponenter - Filstruktur
Section titled “Webbkomponenter - Filstruktur”29m | Presentation
- Introduktion
- Vår valda filstruktur
- Relativa länkar i komponenter (import.meta.url och URL)
- Använda färdiga npm-moduler
Webbkomponenter - Skapa Custom Elements
Section titled “Webbkomponenter - Skapa Custom Elements”1h 21m | Presentation
📕 Errata
- Introduktion
- Hur skapar vi ett custom element
- Shadow DOM
- Webkomponenter
- Webbkomponentens livscykel
- En mall för en Webbkomponent
- Konstruktorn i ett custom element
- attributeChangedCallback
- Slot
- Named slots
- Stila custom elements
- Best practices
- Dokumentera webbkomponenter
Kursvecka 11 - Händelser
Section titled “Kursvecka 11 - Händelser”Samtidighetsmodellen och eventdriven programmering
Section titled “Samtidighetsmodellen och eventdriven programmering”1h 43m | Presentation
- Introduktion
- Samtidighetsmodellen
- Stack och heap
- Händelsekön (The Task Queue)
- Timers och Interval
- Händelsestyrd programmering
- Webbläsarens inbyggda händelser (Event)
- Antipattern: onclick=“”
- Lyssna på händelser (addEventListener)
- Exempel, vi fryster webbläsaren
- Ta bort händelsehanterare (removeEventListener)
- Händelser som utlöses en gång (option: once)
- Vad utlöste händelsen? (this, event.target)
- Closures
- Delegat (Event delegation)
- Stoppa det förvalda beteendet. (event.preventDefault)
- Propagation (capture, bubble)
- Web Worker API
- Avslutning
Webbkomponenter - Händelser
Section titled “Webbkomponenter - Händelser”30m | Presentation
📕 Errata
- Inledning
- Webbkomponentens livscykel
- connectedCallback
- disconnectedCallback
- Utlösa egna händelser (synthetic events)
Kursvecka 12 - Async/Await
Section titled “Kursvecka 12 - Async/Await”32m | Presentation
Kommunikation från Webbläsaren
Section titled “Kommunikation från Webbläsaren”20m | Presentation
Asynkron programmering - Introduktion
Section titled “Asynkron programmering - Introduktion”15m | Presentation
- Introduktion
- Synkron programmering (blockerande kod)
- Asynkron programmering (Icke blockerande kod)
- Asynkront vs. Synkront
Asynkron programmering - Promises och Async/Await
Section titled “Asynkron programmering - Promises och Async/Await”42m | Presentation
- Introduktion
- Arbeta med formulär i webbläsaren (Best practices)
- Fetch API (window.fetch)
- Fetch utan async/await
- Fetch med async/await
- Exempel: TV-seriesök
- Avslutning
Cross Origin Resource Charing (CORS)
Section titled “Cross Origin Resource Charing (CORS)”5m | Presentation
Kursvecka 13 - Komposition
Section titled “Kursvecka 13 - Komposition”Komposition av komponenter
Section titled “Komposition av komponenter”1h 8m | Presentation | Exempel - Todo Application
📕 Errata
- Introduktion
- Vad är en bra komponent Niklas?
- Komposition av komponenter
- Exempel - Todo application
- Designregler - Bubbling av event (se informationstext nedan)
- Nestling av komponenter
- Nestling av komponenter i normala DOMen
- Nestling av komponenter i shadow DOMen
- Designregler - Härma de inbyggda elementen
- Designregler - Konfigurering via attribut
- Designregler - Inkapsling
- Orkestrering - Kommunikation mellan komponenter
- Case study - Flygkalkylatorn
- Designregler - Fallera tyst
- Lyssnar på förändring med “slotchange”
- Avslutning
Kursvecka 14 - Lagring
Section titled “Kursvecka 14 - Lagring”Lagring i webbläsaren
Section titled “Lagring i webbläsaren”1h 52m | Presentation
- Inledning
- Synkrona APIer / Asynkrona APIer
- Async Patterns - Callback Pattern APIs
- Async Patterns - Promisifierade APIs
- Lagen om elektronisk kommunkation (cookielagen)
- Hur lagrar vi data i webbläsaren?
- Same Origin
- Cookies
- Web Storage API
- JSON vid lagring
- IndexDB
- Cachening
- Cache Storage API
- File System Access API
- Storage Manager API
- Utvecklarverktyget i webbläsaren för lagring
Kursvecka 15 - Installerbara PWAs
Section titled “Kursvecka 15 - Installerbara PWAs”Webbapplikationer och introduktion till PWA
Section titled “Webbapplikationer och introduktion till PWA”58m | Presentation
- Introduktion
- Single Page Application
- Offline First
- Applikationstyper
- Native Apps
- Hybridwebbapplikationer (Web)
- Hybridapplikationer (Desktop)
- Progressiva Webbapplikationer (PWA)
- Sammanfattning och jämförelse
Installerbara PWAs
Section titled “Installerbara PWAs”1h 32m | Presentation
- Introduktion
- Service Workers
- Service Workers - Möjligheter
- Service Workers - Krav
- Service Workers - Räckvidd (scope)
- Service Workers - Livscykel
- Service Workers - Livscykel - Steg 1 - Registrera en SW
- Service Workers - Livscykel - Steg 2 - Lyssna på händelser
- CacheStorage
- CacheStorage - Exempel - Cachning vid installation
- CacheStorage - Exempel - Cachning vid fetch
- CacheStorage - Exempel - Ta bort chachad data
- Service Workers i webbläsarens utvecklingsmiljö
- Installera PWAer som en applikation
- Webmanifest
- Demo - Installerbart Memory
Kursvecka 16 - Pålitliga PWAs
Section titled “Kursvecka 16 - Pålitliga PWAs”Pålitliga PWA-applikationer
Section titled “Pålitliga PWA-applikationer”1h 4m | Presentation
- Inledning
- Innehåll
- Routing
- window.location
- URL och searchParams
- Fragment identifier routing
- pushState
- Exempel
- popState
- onload
- Offline - Vilka problem behöver vi lösa?
- Online eller Offline?
- Klientsidebibliotek och ramverk
Lazy loading
Section titled “Lazy loading”19m | Presentation
Kursvecka 17-19 - Kapabla PWAs
Section titled “Kursvecka 17-19 - Kapabla PWAs”Kapabla PWAs
Section titled “Kapabla PWAs”1h 7m | Presentation
Web Sockets API
Section titled “Web Sockets API”12m | Presentation