AFE_exam

Q06 Progressive Web Apps

Spørgsmål:

ng serve

1 Hvad er en PWA

Lagring

For at bruge en app i offline-tilstand er det nyttigt at gemme data i en offline-lagring, som f.eks. en lokal (storage) database.

Et eksempel er givet, hvor vi viser gemte data, hvis der er nogen, indtil vi indlæser dataene.

Du kan se, hvordan dette bruges i linje 5 af cards List template. Her hentes data, sætter loading-tilstanden, og viser de gemte værdier.

For at forstå, hvordan gemmes og hentes data, henvises til cards List TS-filen.

2 Implementering af PWA

Vi har inkluderet installation og online status i bunden (footer): Forbindelser

Gør den installerbar

Kør ng add @angular/pwd for at tilføje biblioteket og konfigurere Angular service worker. Dette opdaterer følgende filer:

Tjek online status

En vigtig ting er at sikre “frisk” data. Dette gøres ved at bruge window.navigator.online, som ses i linje 45-48 af koden.

Jeg tilføjer også en event listener til at detektere ændringer, som vist i linje 25.

Opdater App

Når appen er “downloadet”, skal en opdateringsnotifikation implementeres. Dette kan ses i linje 28-50. Her bruges Angulars Service Worker Update til at opdatere appens version.

Vi laver derefter en popup-dialog, som ses her: opdatering Implementeringen af dialogen kan ses i template linje 42-49.

Forskellige Enheder - cross platform and devices

Ved opbygning af en progressiv web app er der nogle ting, der ikke automatisk fungerer for alle typer enheder, f.eks. hvordan man downloader fra en Android/Chromium-enhed versus en Apple-enhed.

Når vi indlæser opdateringsmodulet, tjekker vi platformtypen i funktionen loadModalPwa().

Dette gøres også i templaten, hvor vi ser på feltet modalPwaPlatform for at differentiere mellem forskellige “divs”.

Se template linje 52-70.

Yderligere information om Service Workers

En service worker er en web worker, der implementerer en programmerbar netværksproxy, der kan reagere på web-/HTTP-anmodninger fra hoveddokumentet. Den kan tjekke tilgængeligheden af en fjernserver, cache indhold og levere dette indhold senere.

Service workers går gennem en tre-trins livscyklus:

Service workers bruges til:

For at se en service worker i aktion: Åbn browserens inspector -> Gå til Application -> Vælg Service Workers.