Naar de inhoud

Begrip

PWA: een website die je installeert als app

Wat een progressive web app is, wat iPhone en Android ermee doen, en wanneer hij een app in de winkels overbodig maakt.

Twee telefoons met de chauffeursapp van het transportplatform van VBS, met demodata: een afspraak maken en een onkost met foto doorsturen, een webapp in de browser zoals een PWA
PWAstaat voor Progressive Web App
Een PWA is een website die je installeert als app, met een eigen icoon en venster, en die als de bouwer het voorziet ook zonder bereik werkt en meldingen stuurt.
Ook genoemdprogressive web appwebappinstalleerbare website

Door , Oprichter en CEO

6 min lezen

Letter voor letter

  1. PProgressive
  2. WWeb
  3. AApp

Een PWA is een website die je installeert als app, met een eigen icoon en venster, en die als de bouwer het voorziet ook zonder bereik werkt en meldingen stuurt.

Op deze pagina
  1. 01Geen winkel, wel een icoon op je beginscherm
  2. 02Alex Russell en Frances Berriman, juni 2015
  3. 03Twaalf ploegbazen, een app zonder winkel
  4. 04Wat werkt op iPhone, Android en computer
  5. 05Een codebasis in plaats van drie

Geen winkel, wel een icoon op je beginscherm

Een PWA, voluit progressive web app, zet je website als app op de telefoon, zonder App Store of Google Play. Je opent een link, tikt op "Zet op beginscherm", en vanaf dan start hij zoals elke andere app.

Het woord progressive zegt hoe het werkt: de site werkt in elke browser, en waar de browser meer kan, krijg je meer. Op een oude computer is het een gewone website, op een recente telefoon een app met een icoon. Onder de motorkap blijft het een webapplicatie: dezelfde code voor iPhone, Android en computer.

Alex Russell en Frances Berriman, juni 2015

Op 15 juni 2015 schreef Alex Russell op zijn blog Infrequently Noted het stuk Progressive Web Apps: Escaping Tabs Without Losing Our Soul. De naam kwam van Frances Berriman. Russell beschreef een soort site die al bestond maar nog geen naam had: hij past zich aan elk scherm aan, werkt zonder verbinding dankzij een service worker, draait altijd veilig over TLS, staat met een icoon op je beginscherm zonder winkel, en blijft deelbaar met een gewone link.

Apple bleef lang achter. Pas met iOS en iPadOS 16.4, aangekondigd door WebKit op 16 februari 2023, kunnen webapps op het beginscherm van een iPhone pushmeldingen sturen, en sinds die versie kan je ze ook vanuit Chrome, Edge en Firefox op het beginscherm zetten, niet alleen vanuit Safari.

Webapp of winkel-app, voor dezelfde taak

Bouw
PWAEen code voor iPhone, Android en computer
Native appEen app voor iOS en een voor Android, of een gedeelde code met twee versies
Bij je gebruiker
PWAEen link openen en op het beginscherm zetten
Native appZoeken en installeren in de winkel
Updates
PWABij iedereen, de volgende keer dat de app opent
Native appLangs de keuring van de winkel, en de gebruiker moet bijwerken
Meldingen op iPhone
PWASinds iOS 16.4, als de app op het beginscherm staat
Native appAltijd, na toestemming
Diep in de telefoon
PWACamera, locatie en bestanden via de browser, met verschillen per toestel
Native appVolledige toegang, ook tot Bluetooth en sensoren
Vaste kosten
PWAHosting, geen winkelaccount
Native appApple 99 dollar per jaar, Google 25 dollar eenmalig, plus hosting

Voor een app die je team of je klanten iets laat doorgeven en opvolgen, volstaat een PWA bijna altijd. Native loont als de app diep in de telefoon moet werken of in de winkel gevonden moet worden.

Het manifest in vier onderdelen

manifest.json, gelinkt vanuit elke pagina, geserveerd via https

{

1 "name": "Werfplanning Lokeren",

"short_name": "Werven",

2 "icons": [

{ "src": "/icon-192.png", "sizes": "192x192" },

{ "src": "/icon-512.png", "sizes": "512x512" } ],

3 "start_url": "/vandaag",

4 "display": "standalone"

}

  1. 1De naamWat onder het icoon op het beginscherm staat; short_name als de volledige naam te lang is.
  2. 2Twee iconenChrome, Edge en Samsung Internet vragen er een van 192 en een van 512 pixels.
  3. 3Waar de app opentDe eerste pagina na een tik op het icoon, hier meteen de planning van vandaag.
  4. 4Zonder adresbalkStandalone opent de site in een eigen venster, zoals een app. Daarna kan hij op iPhone ook meldingen sturen.

De weg naar de telefoon

PWA

  • Een link openen, op het beginscherm zetten
  • Een code voor iPhone, Android en computer
  • Een update staat meteen bij iedereen
  • Geen ontwikkelaarsaccount nodig

Native app

  • Zoeken en installeren in de winkel
  • Een app voor iOS en een voor Android
  • Elke update langs de keuring van de winkel
  • Apple 99 dollar per jaar, Google 25 dollar eenmalig

Een service worker maakt er een app van die ook zonder bereik werkt. Hij is geen eis om te installeren, wel de reden dat een PWA aanvoelt als een app.

Twaalf ploegbazen, een app zonder winkel

Stel: een aannemer wil dat zijn twaalf ploegbazen elke ochtend hun werf, hun ploeg en hun materiaal op de telefoon zien, en 's avonds hun uren invullen. De helft heeft een iPhone, de andere helft een Android-toestel, twee hebben een tablet in de bestelwagen.

Als native app zijn dat twee apps, een ontwikkelaarsaccount bij Apple van 99 dollar per jaar en een bij Google van 25 dollar eenmalig, en elke update langs de keuring van twee winkels. Als PWA is het een webadres, bijvoorbeeld werven.aannemer.be. De aannemer stuurt de link per sms, elke ploegbaas zet hem in drie tikken op zijn beginscherm, en een aanpassing staat de volgende ochtend bij iedereen. De bouw zelf, de schermen voor planning en tijdsregistratie, kost bij beide routes ongeveer evenveel per scherm; bij native doe je ze twee keer, of in een gedeelde code met twee versies om te testen en in te dienen. Hoe dat in een offerte doorweegt, lees je in wat een app laten maken kost.

Wat werkt op iPhone, Android en computer

Toestel en browserInstallerenHoe
Android, Chrome met Google-dienstenJa, als echte appInstallatievraag van Chrome, na een tik en 30 seconden op de pagina
Android, Samsung Internet op een SamsungJa, als echte appNet als Chrome, als WebAPK
iPhone en iPad, iOS 16.4 of laterJa, op het beginschermDeelmenu in Safari, Chrome, Edge, Firefox of Orion
Windows, Mac en Linux, Chrome of EdgeJa, als eigen vensterElke PWA met een manifest
Mac, Safari 17 of laterJa, in het DockVoeg toe aan Dock, ook zonder manifest
Computer, FirefoxNeeWerkt als gewone website
Android, Firefox of EdgeSnelkoppelingEen icoon dat de site in de browser opent

Op een iPhone kan een PWA pas meldingen sturen nadat hij op het beginscherm staat, en de vraag om toestemming moet volgen op een tik van de gebruiker. Leg je gebruikers dus bij de start uit hoe ze hem installeren; dat ene scherm uitleg beslist of je app gebruikt wordt. Een goede UX begint daar.

Klaar om te installeren: wat moet kloppen

  • De hele app draait over https, met een geldig SSL-certificaat.
  • Elke pagina linkt naar het manifest, met name of short_name, start_url en display standalone.
  • Er zijn twee iconen, van 192 en van 512 pixels, plus een apple-touch-icon voor iPhone.
  • Een service worker bewaart wat nodig is om zonder bereik te openen, en toont een duidelijke melding als iets niet lukt.
  • De vraag om meldingen komt pas na een tik op een knop, nooit bij het openen.
  • Er is een korte uitleg per toestel: zo zet je de app op je beginscherm.
  • Getest op een echte iPhone en een echt Android-toestel, niet alleen in de browser op een computer.

Een codebasis in plaats van drie

Een PWA kost wat een goede webapplicatie kost, plus een beperkt stuk werk voor het manifest, de iconen en de service worker. Wat je uitspaart: een tweede app, de jaarlijkse 99 dollar bij Apple, de keuring bij elke update en de dag dat de helft van je team nog op een oude versie zit. Wat je erbij krijgt: een adres dat je deelt met een link, en pagina's die Google kan lezen als je dat wil, wat een app in de winkel niet heeft. Snelheid telt dubbel bij een PWA; meet je huidige site met de snelheidstest.

Een PWA is ook een goede eerste versie. Wil je weten of je team of je klanten een app echt gebruiken, bouw dan eerst een MVP als PWA. Blijkt later dat je Bluetooth, de NFC-chip of een plaats in de winkel nodig hebt, dan bouw je de native app op hetzelfde platform erachter. Wordt je app een product dat je aan andere bedrijven verkoopt, dan is de PWA de voorkant van je SaaS.

Over installeren, meldingen en offline

Wat is het verschil tussen een PWA en een gewone app?

Een gewone, native app installeer je uit de App Store of Google Play, en hij is per besturingssysteem apart gebouwd. Een PWA zet je vanuit de browser op je beginscherm, en een code werkt op elk toestel. Native kan dieper in de telefoon, een PWA is goedkoper te bouwen en meteen bij te werken.

Werkt een PWA op een iPhone?

Ja. Je zet hem op het beginscherm via het deelmenu in Safari, en sinds iOS 16.4 ook vanuit Chrome, Edge, Firefox en Orion. Meldingen kan hij sturen zodra hij op het beginscherm staat en de gebruiker toestemming gaf na een tik.

Heeft een PWA https nodig?

Ja. Een browser installeert een PWA alleen als hij over https komt, of tijdens het bouwen vanaf je eigen computer. Ook de service worker, die de app zonder bereik laat openen, werkt alleen over een beveiligde verbinding. Een geldig SSL-certificaat is dus de eerste stap.

Kan een PWA in de App Store of Google Play?

Niet als PWA. Je kan hem verpakken in een native schil en zo indienen, maar dan gelden de regels en kosten van de winkel weer. Voor een app voor je eigen team of klanten heb je de winkel meestal niet nodig.

App laten maken

Hoe VBS apps zonder winkel bouwt

We kiezen met je de route naar de telefoon: web waar het kan, native waar het moet. Voor DA Logistics bouwden we een chauffeursapp die als webapp in de browser van de telefoon draait. Een chauffeur kiest Nederlands, Engels of Turks, tikt op zijn naam en logt in met vier cijfers; verlof, bonnetjes en meldingen komen meteen in de juiste wachtrij op kantoor. Zo'n dertig chauffeurs gebruiken hem elke dag. Bekijk app laten maken, een werkbon-app of plan een gesprek.

PWA of winkel-app voor jouw team?

Zeg wie hem gebruikt en wat hij elke dag doet. We zeggen je welke route past, en wat het verschil in bouw en onderhoud is.

Optioneel, als je liever gebeld wordt.

Wat wil je bereiken, en wat staat er al?

We gebruiken je gegevens alleen om je te antwoorden.