Wat gebeurt er onder de motorkap bij een progressive web app (PWA)?

In een eerder artikel beschreven we wat een progressive web app in hoofdlijnen is. Minstens zo interessant is wat er op technisch vlak gebeurt. Om als applicatie de titel PWA te mogen dragen zijn er drie hoofdcomponenten belangrijk: service workers, het gebruik van een SSL verbinding (https) en het web app manifest.

Meer weten?

Ga het gesprek aan met Koen!

     

    Service workers

    Een service worker kun je zien als de motor van een PWA. Het concept is in 2014 door Google geïntroduceerd en groeit sindsdien hard in populariteit en toepassing. Het is een script wat op de achtergrond draait en waarmee je handelingen kan uitvoeren, zonder dat de gebruiker interactie heeft met de applicatie. Denk hierbij aan het ontvangen van pushberichten en bijvoorbeeld het offline opslaan en synchroniseren van data. Ook heb je met een service worker veel meer controle op hoe de browser bestanden cached waardoor de PWA een stuk sneller wordt in gebruik.

    Het leuke van service workers is dat het door de browser gezien wordt als een progressive enhancement. Dat wil zeggen dat je PWA prima werkt in oudere browsers en in nieuwere browsers nog een stuk beter. Dankzij service workers kunnen PWA’s zich meten met native apps.  

    Web app manifest

    Manifest klinkt altijd lekker officieel en in dit geval is het ook zo. Met het web app manifest geef je de browser namelijk te kennen dat er een progressive web app wordt geladen. Dit is een JSON bestand dat ervoor zorgt dat je een PWA kan toevoegen aan je homescreen, de juiste iconen en kleuren hierbij gebruikt worden en dat deze bijvoorbeeld altijd in landscape modus wordt geopend.

    Samen vormen het manifest en de service workers ervoor dat je gebruikers een native app ervaring kan bieden. De verplichting van een SSL verbinding zorgt ervoor dat dit alles ook veilig gebeurt.

    PWA ondersteuning door Apple

    Lange tijd heeft Apple deze ontwikkeling niet ondersteund. Progressive web apps werkten op iOS devices dus als ‘gewone’ websites. Dit ongetwijfeld met het verdienmodel van de App store in het achterhoofd. Apple zou miljarden omzet kunnen mislopen wanneer progressive web apps gebruikt gaan worden in plaats van gewone apps. Nu Google al langere tijd er wel vol op inzet lijkt Apple zich te realiseren dat ze deze lijn niet voor altijd kan aanhouden.

    Wil je een keer vrijblijven sparren over de mogelijkheden van progressive web apps? Start dan direct een chat of bel ons op 020-7051010!