Snelheid PWA versus app: wat de service worker echt doet

Iedereen die beweert dat een casino app altijd sneller is dan een mobiele website, heeft nog nooit een slecht geconfigureerde service worker meegemaakt. De laadtijd van een PWA hangt namelijk af van twee dingen die niets met het etiket “app” of “website” te maken hebben: de service worker-cache en de netwerklatency op het moment van openen. Wie de Winzoria app downloadt via de browser, krijgt een applicatie die bij een koude start net zo goed moet wachten op de eerste fetch als een native app die zijn update ophaalt. De vraag is niet of een PWA sneller is, maar waar de vertraging precies zit.

De service worker is een cachemanager, geen toverspreuk

Een service worker is een script dat tussen de browser en het netwerk staat. Hij onderschept requests en beslist of een bestand uit de cache komt of van de server. Bij een goed gebouwde Progressive Web App worden de shell (HTML, CSS, JavaScript, lettertypen) en statische afbeeldingen bij de eerste installatie opgeslagen. Bij elk volgend bezoek laadt de app die bestanden lokaal, wat de tijd tot het eerste scherm terugbrengt tot enkele tientallen milliseconden. Dat is indrukwekkend, maar het geldt alleen voor bestanden die de ontwikkelaar expliciet in de cachestrategie heeft opgenomen.

De mythe is dat een PWA daardoor altijd direct opent. In de praktijk zie je bij casino’s vaak een hybride situatie: de spelomgeving is gecacht, maar de spelcatalogus, de balans en de live lobby worden bij elke start vers opgehaald. Zodra een request niet in de cache zit, betaal je de volledige netwerklatency. Op een 4G-verbinding in Nederland is dat gemiddeld 30 tot 60 milliseconden per request, maar op een overvolle wifi in een trein of een vakantiepark loopt dat op tot honderden milliseconden. Een native applicatie heeft daar minder last van omdat de interfacecode al op het toestel staat, maar ook die moet de balans en het spelaanbod ophalen bij de server.

Het verschil zit dus niet in “app versus PWA”, maar in hoeveel van de eerste schermweergave lokaal is. Een PWA met een agressieve cachestrategie kan sneller aanvoelen dan een native app die bij het opstarten eerst een splashscreen toont en vervolgens een updatecontrole uitvoert. Omgekeerd kan een slecht gecachte PWA trager zijn dan een goed geoptimaliseerde mobiele website, simpelweg omdat de service worker bij elke start opnieuw moet vaststellen of de cache nog geldig is.

Wat de eerste seconde echt bepaalt

Bij een koude start telt elke stap mee. De browser moet de service worker activeren, de cache doorzoeken, de shell renderen en vervolgens de eerste API-calls doen voor saldo en speldata. Bij een warme start, wanneer de service worker al actief is, valt de eerste stap weg en opent de app vrijwel direct. Dat verklaart waarom gebruikers die de PWA via Google Chrome of Safari op het beginscherm hebben gezet, een veel snellere ervaring rapporteren dan bij hun eerste bezoek via de adresbalk. Het is geen magie, het is de cache die zijn werk doet.

De keerzijde: cache-invalidatie. Als de ontwikkelaar de cacheversie niet netjes ophoogt bij een update, kan een gebruiker een verouderde interface zien met een spelcatalogus die niet meer klopt. Dat is een operationeel risico dat je bij een native app in de App Store of Google Play Store minder snel hebt, omdat de store de update afdwingt. Bij een PWA bepaalt de service worker zelf wanneer nieuwe bestanden worden opgehaald, en dat gebeurt vaak pas bij de volgende start of na een expliciete refresh.

Live tafels zuigen bandbreedte, ongeacht de verpakking

Hier ligt de grootste misvatting over casino op mobiel. Mensen vergelijken de laadtijd van een gokkast met die van een live tafel en concluderen dat de app trager is. Dat is appels met peren vergelijken. Een gokkast is in essentie een set afbeeldingen, een geluidsbestand en een random number generator die lokaal of op de server draait. Een live tafel met een videostream van een echte dealer is een continu datastroom: bij 720p vraagt dat al snel 1,5 tot 2,5 Mbps, bij 1080p het dubbele. Geen enkele service worker cache lost dat op, want je kunt een live videostream niet vooraf cachen.

Dat betekent dat de ervaring bij live tafels vooral wordt bepaald door de kwaliteit van de verbinding, niet door de vraag of je een native app of een PWA gebruikt. De videospeler in een native app kan iets efficiënter omgaan met buffering en hardware-decodering, maar het verschil is in de praktijk kleiner dan de fluctuatie in je eigen wifi-signaal. Wie op een stabiele verbinding zit, ziet nauwelijks verschil. Wie op een wankele verbinding zit, ziet bij beide varianten haperingen, alleen op een ander moment in het proces.

Het platform dat Winzoria sinds de oprichting in 2025 aanbiedt, combineert casino, live casino en sportweddenschappen in een Progressive Web App. Die combinatie maakt de cachestrategie extra lastig: de gokkasten kunnen grotendeels statisch worden geleverd, de live lobby moet dynamisch blijven en de sportweddenschappen vragen om real-time odds die elke paar seconden verversen. Ook de winzoria casino app lost dat niet op, want daarin moeten odds en videostreams net zo goed over het netwerk komen. De service worker helpt alleen bij het eerste scherm en de statische onderdelen.

Waarom een native app niet automatisch wint

Het argument dat een native applicatie sneller is, rust op het idee dat alle code lokaal staat. Dat klopt voor de interface, maar niet voor de inhoud. Een casino-app in de App Store of Google Play Store haalt zijn spelaanbod, saldo en live streams net zo goed van een server. Het enige echte voordeel is dat de applicatie al is geïnstalleerd en de update via de store verloopt, wat de eerste laadtijd iets verkort. Daar staat tegenover dat native apps meer opslagruimte innemen, vaker een volledige update nodig hebben en dat de gebruiker afhankelijk is van de goedkeuring van Apple of Google voor elke release.

De PWA omzeilt dat laatste probleem volledig. De Winzoria app is niet beschikbaar in de App Store en Google Play Store, en dat is een bewuste keuze. Android-gebruikers installeren de PWA via Google Chrome, iPhone-gebruikers via Safari, waarna het pictogram op het beginscherm verschijnt en de app als een volwaardige applicatie opent zonder adresbalk. De installatie kost enkele seconden en de app neemt een fractie van de opslagruimte in die een native casino-app vraagt. Voor een platform dat snel wil itereren op spelaanbod en bonusacties is dat een praktisch voordeel dat zwaarder weegt dan een paar milliseconden verschil bij de koude start.

Wat je zelf kunt meten voordat je een oordeel velt

De enige betrouwbare manier om te bepalen wat sneller is, is meten op je eigen toestel en je eigen verbinding. Open de PWA een paar keer achter elkaar en let op het verschil tussen de eerste en de tweede start. Bij een goede service worker-cache is de tweede start duidelijk sneller. Vergelijk dat met de mobiele website in de adresbalk, waar elke keer de volledige pagina opnieuw wordt opgebouwd. Het verschil dat je dan ziet, is het effect van de cache, niet van het app-label.

Test daarna een live tafel en een gokkast apart. Je zult merken dat de gokkast vrijwel direct laadt, terwijl de live tafel een paar seconden nodig heeft om de stream op te bouwen. Dat verschil heeft niets te maken met de vraag of je een app of een PWA gebruikt, maar met de hoeveelheid data die de videostream vraagt. Wie dat eenmaal heeft gezien, begrijpt waarom de discussie over “app versus website” vaak de verkeerde vraag stelt.

Voor wie de PWA wil proberen: nl-winzoria.com is een informatieve gids met partnerlinks en is geen aanbieder van spellen. De site verwijst door naar het platform, waar je een account aanmaakt en de app via de browser installeert. Het welkomstbonuspakket bedraagt 100% tot 1.500 euro, maar de inzetvereiste is nergens publiekelijk beschikbaar. Dat is een punt om zelf navraag naar te doen voordat je stort, want een bonus zonder duidelijk gepubliceerde voorwaarden zegt weinig over de werkelijke waarde.

De praktische conclusie is simpel: beoordeel een casino op mobiel niet op het etiket “app” of “website”, maar op hoe de service worker is ingericht en hoe stabiel je verbinding is. Een goed gecachte PWA op een fatsoenlijke verbinding verslaat een slecht gebouwde native app moeiteloos. Een live tafel blijft hoe dan ook bandbreedte vragen, of je nu via de App Store bent geïnstalleerd of via Safari op je beginscherm hebt gezet. Meet het zelf, één keer, en het beeld kantelt.