Ga direct naar inhoud
cover1

Mobile native apps zijn niet meer nodig met de komst van PWA en web API’s

Een app installeren zonder appstore: De toekomst of een fabeltje?

  • Wat is een PWA?
  • Voordelen van een PWA
  • De tweestrijd van Progressive Web Apps
  • Op de schouders van reuzen
  • Een sprong van vertrouwen

Steeds meer bedrijven adopteren de technieken van PWA en Web APIs. Met deze relatief nieuwe technieken kan je ervoor zorgen dat je webapplicatie net zo voelt als een mobile native applicatie.

MEER VOOR MINDER

Mobile native applicaties zijn de applicaties zoals we die kennen van onze mobiele telefoons. Je browst naar een appstore, je zoekt de applicatie die je wilt hebben en je installeert deze vervolgens. Naast een mobile native applicatie hebben bedrijven veelal ook nog een website, of een webapplicatie, om hun producten en services aan te bieden. Mobile native applicaties en web-applicaties werken met verschillende technologieën. Dit betekent dat een bedrijf meerdere development teams nodig heeft om hun volledige arsenaal aan producten of services aan te kunnen bieden zoals dat veelal gebeurt met een omnichannelstrategie.

Daarnaast bepalen appstores voor mobile native applicaties of deze überhaupt in appstores aangeboden worden, moeten appstores betaald worden om een app te mogen ontwikkelen

en bestaat er een afhankelijkheid van appstores tijdens het testproces van een mobile native applicatie. Zou het niet mogelijk zijn om maar één applicatie te bouwen zonder afhankelijkheden van externe partijen? Dat kan, met een Progressive Web App (PWA).

WAT IS EEN PWA?

Progressive Web App (PWAs) zijn een evolutie van webapplicaties die gebruik maken van een ‘Web application manifest’, ‘Service workers’ en andere ‘Web platform features’ in de vorm van Web APIs. Een hoop technische termen, maar wat het betekent is dat een paar kleine aanpassingen aan een webapplicatie kunnen resulteren in een ervaring die gelijkwaardig is aan die van mobile native applicaties. Dit alles zonder afhankelijk te zijn van appstores of zonder dat verschillende development teams nodig zijn voor verschillende type applicaties.

VOORDELEN VAN EEN PWA

De voordelen van een PWA zijn onder te verdelen in ‘Technische voordelen’ en ‘Zakelijke voordelen’.

PWA’s hebben 8 essentiële technische voordelen[1]:

  1. Discoverable: De PWA en de inhoud daarvan kan beter gevonden worden door zoekmachines via meta data uit onder andere het web application manifest.
  2. Installable: De applicatie kan direct vanuit een browser geïnstalleerd worden op een toestel om zo beschikbaar te zijn via het home scherm of een toepassingsstartprogramma. Vervolgens wordt de applicatie automatisch geüpdatet en hoeven updates dus niet manueel geïnstalleerd te worden.
  3. Linkable: De PWA kan gedeeld worden door een URL naar de betreffende applicatie te sturen. Er zijn  geen complexe installatieprocessen vanuit app stores nodig.
  4. Network independent: De applicatie werkt ook offline of met een slechte netwerkconnectiedankzij toepassing van caching-strategieën en service workers.
  5. Progressively enhanced: Alle functionaliteiten van de PWA zijn beschikbaar op moderne browsers. Op oudere browsers is een set basisfunctionaliteiten beschikbaar.
  6. Re-engageable: De applicatie kan notificaties sturen over nieuwe inhoud of functionaliteiten, ook als de gebruiker de applicatie niet actief gebruikt.  
  7. Responsively designed: De PWA is compatible met elk willekeurig toestel met een scherm en een browser. Voorbeelden hiervan zijn: mobiele telefoons, laptops, tablets, Tv’s en koelkasten.
  8. Secure: De connectie tussen de gebruiker, de applicatie en de server is beveiligd tegen kwaadwillende derde partijen, mits gebruik wordt gemaakt van het HTTPS protocol.

ZAKELIJKE VOORDELEN

Ieder technisch voordeel is te vertalen naar een zakelijk voordeel. Daarnaast zijn er talloze andere zakelijk voordelen te benoemen[2] , waaronder:

  • Eén development team, één applicatie
    Een PWA is simpelweg een evolutie van een webapplicatie. Dit betekent dat iedere web developer eraan kan ontwikkelen. Doordat een PWA in potentie mobile native applicaties kan vervangen, hoeven er geen aparte development teams te worden ingericht voor de webapplicatie, iOS applicatie en Android-applicatie. Eén enkel web development team volstaat. Dit betekent een snellere time-to-market en een lagere cost of development en beheer.
  • Betere developer experience
    Webapplicaties bieden meer vrijheid dan mobile native applicaties doordat ze niet per se in een app- store hoeven te landen. Appstores leggen beperkingen op aan developers en bepalen of een applicatie wel of niet in hun store aangeboden wordt. Minder beperkingen betekent meer vrijheid voor developers en dus een betere developer experience, wat kan leiden tot betere retentie van developers.
  • Grotere talentenpool
    JavaScript is de taal die heerst in de wereld van web development. PWAs zijn in essentie webapplicaties en worden dus veelal geschreven in JavaScript. JavaScript is de meest gebruikte programmeertaal ter wereld[3] . Dit betekent datde talentenpool voor JavaScript developers groter is dan die van bijvoorbeeld iOS of Android developers. Hierdoor zal het makkelijker zijn om developers te vinden en aan te nemen die al bekend zijn met de technologieën die worden gebruikt binnen een organisatie.

DE TWEESTRIJD VAN PROGRESSIVE WEB APPS

Met al die technische- en zakelijke voordelen borrelt de vraag op: waarom zijn de appstores nog niet verdwenen en vervangen door PWAs? Het antwoord, in het kort: browser 7 compatibiliteit en de twee kampen waarin de moderne browsers, Google Chrome, Microsoft Edge, Mozilla Firefox en Safari, verdeeld zijn.

PWA BROWSER COMPATIBILITEIT

Als we kijken naar de belangrijkste functionaliteiten van een PWA – Service workers, Web application manifest en Web platform features (Web APIs) – dan zien we het volgende[4]. Service workers worden door alle moderne browser ondersteund[5] . Het Web application manifest wordt grotendeels ondersteund, met wat kanttekeningen bij Firefox en Safari[6]. Bij de Web APIs zien we een groter verschil. Chrome en Edge ondersteunen hier aanmerkelijk meer APIs dan Firefox en met name Safari.

DE TWEE BROWSERKAMPEN

Er gaan geluiden op dat de mate van ondersteuning gelinkt is aan bewuste keuzes van de verschillende browserpartijen. Zo heeft Apple aangekondigd dat ze bepaalde Web APIs, zoals de Bluetooth API, in de nabije toekomst niet zullen ondersteunen en dit wellicht nooit zullen doen[7]. Mozilla lijkt zich deels aan te sluiten bij het kamp van Apple door experimenten met extra PWA-functionaliteiten in de steek te laten[8]. Daar tegenover lijken Chrome en Edge met hun bredere ondersteuning te staan voor een web met zoveel mogelijk functionaliteiten. Deze tweestrijd roept de vraag op of PWA volwassen genoeg is als technologie om te gebruiken in een organisatie context, ter vervanging van een mobile native app. Een vraag die wellicht beantwoord kan worden door een andere vraag te beantwoorden: Heb ik alle native functionaliteiten en Web APIs nodig om de best mogelijke gebruikerservaring aan te kunnen bieden voor mijn service?

OP DE SCHOUDERS VAN REUZEN

Of je je volledige digitale bedrijfsvoering over kunt zetten naar een PWA is sterk afhankelijk van welke native functionaliteiten je nodig hebt. Waarschijnlijk zullen de meeste bedrijven niet zo snel gebruik hoeven te maken van de (nog) niet ondersteunde Web APIs zoals de Bluetooth API. Daarnaast zijn er een groot aantal functionaliteiten die al wel bruikbaar zijn op elk toestel. Techreuzen zoals Google en Microsoft zijn je bovendien al voor, als het gaat om het benutten van het potentieel van PWA’s. Een mooi voorbeeld hiervan is de gamingindustrie. Google Stadia en Microsoft Xbox maken al gretig gebruik van deze evolutie in web development. De PWA-technieken die nu beschikbaar zijn maken het mogelijk om triple A games zoals Destiny, Fortnite en Halo te spelen in de browser op je telefoon, tablet of laptop. En je denkt misschien dat alleen dergelijke hightechbedrijven de skills hebben om dit soort functionaliteit te bouwen, maar met wat simpele progressive enhancements vanuit de Web APIs en PWA is het ook mogelijk om de user flow van je eigen applicaties te verbeteren. Bijvoorbeeld het verbeteren van je betalingsverkeer met de Payments API of het toevoegen van face ID of fingerprint authenticatie aan je inlogmethodes.

Met relatief kleine aanpassingen op je webapplicatie kan je je gebruikers al snel een betere gebruikerservaring bieden. Bedrijven zoals Trivago, Twitter en Pinterest waren de early adopters. Zij zagen hun klantinteractie drastisch groeien. Dit had alles te maken met de snellere responses en makkelijkere manieren om terug te komen naar hun app of website, beide onderwater dezelfde web app, een PWA. Per usecase zal moeten blijken of PWA je app zal kunnen vervangen. Voor nu kiezen wij ervoor om de adoptie van PWA parallel in te zetten op het web zodat je al een voordeel kan krijgen uit de progressive enhancements.

LEAP OF FAITH

Als organisatie zijn er veel voordelen te behalen uit de technieken die PWA met zich meebrengt. Door de strijd in de twee browserkampen is de kans groot dat niet alle device functionaliteit beschikbaar wordt voor het web. Maar de verwachting is dat je gebruikers die functionaliteiten ook niet zullen missen. Er vallen al talloze succesverhalen op te tekenen, bij verschillende tech-reuzen, die bewijzen dat het moment er nu is om de technieken van PWA te adopteren.

Ook diverse klanten van Capgemini in verschillende branches zoals retail, industrie en automotive hebben de eerste stap naar PWA genomen. In de toekomst zal web steeds dichter bij een native app komen en PWA zal in de toekomst steeds dichter in de buurt komen van native apps. Elk jaar komen er nieuwe functionaliteiten bij die het gat verder dichten.

Op dit moment is het wellicht nog niet haalbaar om de mobile native app en de webapplicatie in te ruilen voor een PWA. Dat komt door de macht van de appstores van Apple en Google. Maar er zijn nu al zoveel voordelen te behalen dat uitstellen van adoptie van PWA geen optie meer is. Wil jij als bedrijf altijd afhankelijk blijven van appstores? Of durf je een eigen koers te varen en maak je jouw oplossing beschikbaar voor iedereen zonder dat je gebruikers eerst een appstore in moeten duiken?

Sven van Straalen

Software Engineer/Architect

Sven is een architect die niet los te maken is van code. Zo nu en dan duikt hij terug in de code om tot de nieuwste oplossingen te komen. Zodat hij die weer kan aanbieden bij zijn klant.

Richard Hoving

Software Engineer

Richard is een web developer die het liefst onder de codemotorkap zit om erachter te komen hoe dingen met elkaar verbonden zijn en waarom ze werken zoals ze werken.


[1] https://developer.mozilla.org/en-US/docs/Web/Progressive_web_apps/Introduction

[2] https://www.divante.com/pwabook/chapter/04-benefits-of-pwa

[3] https://insights.stackoverflow.com/survey/2021

[4] https://firt.dev/notes/pwa-ios/

[5] https://developer.mozilla.org/en-US/docs/Web/API/ServiceWorker

[6] https://developer.mozilla.org/en-US/docs/Web/Manifest

[7] https://webkit.org/tracking-prevention/

[8] https://firt.dev/pwa-2021/