Mobiele applicaties

Het mobiel beschikbaar maken van je applicatie (PWA, Native, Meta frameworks)

Leestijd 3 min

Door Louis Gossieau

Een populaire afweging bij het mobiel beschikbaar maken van je applicatie is de keuze tussen een PWA versus Native. Bouw je een specifieke app voor Android en iOS (dan spreken we van een native app), of maak je een Progressive Web App (PWA) die op alle mobiele apparaten gebruikt kan worden vanuit de browser? Maar eigenlijk is de keuze tussen PWA of Native slechts één van de overwegingen, het is zeker niet de enige.

Cindy bij laptop en telefoon.

De weg naar mobile

Het ontwikkelen van je applicatie vergt resources die voor een groot deel bepalen welke keuzes je op welk moment zal maken. We schreven daar al eerder over, toen Maurits de complexiteit van de software langs de fase van een onderneming legde. Welk team past nou het best in welke situatie? Of je ook een mobiele applicatie ontwikkelt, legt daar eigenlijk nog een dimensie bovenop.

Van webapplicatie in de (mobiele) browser, tot een volledige native app specifiek gebouwd voor één of meerdere mobiel platformen, daar tussenin vind je nog allerlei andere mogelijkheden:

Thomas en Mannes bekijken applicatie

Van webapplicatie naar Native

Je huidige webapplicatie mobiel toegankelijk maken:

  • Mobile responsiveness
  • Mobile adaptiveness

Progressive Web Apps bouwen:

  • PWA
  • PWABuilder

Meta frameworks gebruiken:

  • React Native
  • Ionic/Capacitator
  • Flutter

Native apps voor specifieke platforms zoals:

  • Google Android
  • Apple iOS

Wat betekenen al deze methodes en welke afwegingen kun je maken? Daar gaan we dit artikel dieper op in.

Je huidige webapplicatie toegankelijk maken voor mobiel

Als je applicatie enkel en alleen nog draait in een browser, kun je een aantal dingen doen om deze in elk geval toegankelijk te maken voor mobiele apparaten. De twee voornaamste methodes zijn ‘mobile responsiveness’ en ‘mobile adaptiveness’.

Mobile responsiveness

Met mobile responsiveness past de applicatie zich automatisch aan op de grootte van het scherm. Gebruikers openen nog steeds de webapplicatie in hun browser: op kleinere schermen verschuiven enkele elementen zodat het netjes past.

Voordeel

  • Oneindige flexibiliteit. Het is toepasbaar op een oneindig aantal schermgroottes
  • Uniforme ervaring. Doordat de applicatie zich altijd aanpast aan de grootte van het scherm, levert het een consistente gebruikerservaring.

Nadeel

  • Meer werk. Het is voor developers meer werk. Zeker als het al een bestaande applicatie betreft.
  • Mogelijk langere laadtijden. De volledige website wordt daarnaast altijd volledig ingeladen, waardoor de laadtijden relatief hoog kunnen zijn.

Mobile adaptiveness

Bij mobile adaptiveness ontwerp je voor bepaalde schermgroottes specifieke lay-outs. Denk aan een applicatie die op een tablet andere features en elementen van de site moet tonen, dan op een telefoon. Neem bijvoorbeeld een menu dat op een desktop altijd zichtbaar is, maar op een mobiel apparaat ingeklapt wordt.

Voordeel

  • Ervaring op maat. De ervaring is in hoge mate afgestemd op specifieke gebruikers en schermgroottes.
  • Mogelijk snellere laadtijden. Het is daarnaast eventueel mogelijk om alleen de code voor een specifieke schermgrootte in te laden, waardoor deze op zulke schermen sneller laadt dan een responsive website.

Nadeel

  • Meer inspanning. Het vergt meer inspanningen om voor elk scherm apart te ontwerpen en telkens te onderhouden. Op een schermgrootte waarvoor je niet ontwikkeld hebt, heb je geen controle over de gebruikerservaring.
  • Beperkte controle. Op een schermgrootte waarvoor je niet ontwikkeld hebt, heb je geen controle over de gebruikerservaring.
Cliff en een whiteboard

PWA: Progressive Web Apps

Wil je een stap verder, dan kun je een PWA overwegen: Progressive Web App. Het is geen nieuw concept, maar het wordt steeds populairder. Je bouwt een webapplicatie die ‘native’ aanvoelt, doordat je de app net als andere apps opstart vanaf het startscherm. Het lijkt dus bijna op een échte, voor iOS of Android gemaakte, mobiele applicatie. Het verschil is dat deze vervolgens nog steeds draait vanuit de mobiele browser.

Voordeel

  • Eén codebase voor diverse platformen. Voor een PWA voer je specifieke aanpassingen door in je huidige webapplicatie. Vervolgens heb slechts één versie van de app die op alle apparaten er hetzelfde zal uitzien.
  • Goedkoper en sneller te bouwen. Doordat het maar één codebase bevat, is de applicatie en de mobiele versie eenvoudiger te onderhouden.

Nadeel

  • Het beperkt kunnen toepassen van mobiele functionaliteiten. Niet elk mobiel platform ondersteunt betalingen via een PWA en interacties met andere applicaties op het mobiele apparaat zijn beperkt. Ook functies als gezichtsherkenning en interactie met een NFC-chip zijn niet beschikbaar.
  • Niet (per se) beschikbaar in app stores. Een PWA is daarnaast niet beschikbaar in een AppStore of Google Play Store, waar je gebruikers misschien wel gewend zijn op zoek gaan naar je applicatie. Met tools als PWABuilder kun je echter alsnog je PWA in een app store publiceren, om ook dat verschil te overbruggen.
Kelvin, Roan en Joris

Native applicatie bouwen

Een native app is specifiek gebouwd voor het mobiele platform. Ze kunnen volledig gebruikmaken van de belangrijkste functionaliteiten van het mobiele apparaat. Gebruikers kunnen daarnaast de app vinden in de desbetreffende app store waar ze altijd al hun apps downloaden.

Voordeel

  • Een native app is specifiek gebouwd voor het mobiele platform. Dat betekent dat de applicatie ook optimaal gebruik kan maken van het apparaat zelf: de performance zal daardoor naar verwachting beter zijn.
  • Toegang tot apparaat specifieke functionaliteiten. Daarnaast heb je toegang tot alle krachtige features van het apparaat zoals de camera, mogelijkheden tot mobiele betalingen en de NFC-chip. Voor een PWA’s komen enkele van deze functionaliteiten pas recentelijk, langzaamaan beschikbaar.

Nadeel

  • Verschillende programmeertalen. Je schrijft een applicatie voor Apple iOS in een andere programmeertaal dan Google Android. Objective-C en Swift voor iOS, Java voor Android. Wil je voor beide systemen ontwikkelen, dan betekent dat ook dat je developers in dienst moet hebben die de taal voor die platformen kennen.
  • Onderhoud. Ontwikkel je voor beide platformen, dan heb je ook apart onderhoud nodig voor zowel de Android als iOS app. Daar gaat veel energie en tijd in zitten. Want ook de platformen zelf kennen regelmatig veranderingen waar je jouw applicatie vervolgens weer aan moet laten voldoen.
Jos aan tafel

Meta frameworks: eenvoudiger een nagenoeg native app

Er is echter nog een derde afweging: mobiele apps bouwen vanuit een framework. Voorbeelden hiervan zijn Flutter, React Native of Ionic/Capacitator. Met zulke frameworks bouw je een applicatie die nagenoeg native aanvoelt op een mobiel platform, terwijl je toch gebruikt maakt van slechts één codebase. Bekende voorbeelden van React Native apps voor consumenten zijn Instagram, AirBNB of UberEats. Maar bijvoorbeeld ook de app die we ontwikkelden voor Hollister: de Hollister Stoma Huidcheck. Met Flutter zijn dat CZ Zorgverzekeringen, BMW en Google Pay.

Voordeel

  • Toegang tot mobiele functies. Met een app die gebouwd is met meta frameworks, heb je toegang tot vele handige functies van een mobiel apparaat.
  • Sneller ontwikkelen en publiceren. In feite maak je één applicatie die voor alle mobiele platformen beschikbaar is. De interface is namelijk opgedeeld in verschillende componenten. Daardoor werkt de app optimaal op meerdere platformen.

Nadeel

  • Het is lastiger om met lokale APIs te werken. Denk aan de camera, bluetooth of GPS. Er zijn echter wel oplossingen voor, die extra aandacht vereisen tijdens onderhoud.
  • Performance. Ondanks dat het nagenoeg native aanvoelt, is de performance nog altijd minder hoog dan een native app. Heb je dus een applicatie die veel rekenkracht vereist, dan is een meta framework misschien niet de beste keuze. Al zijn de verschillen klein.
Marko en Dagmar met koffie

Hoe maak je een keuze?

Doorgaans zie je dat de weg naar een native mobiele applicatie organisch verloopt. Resources zijn een belangrijke overweging daarin. We zien dat organisaties daarom beginnen met het mobiel toegankelijk maken van een applicatie via mobile responsiveness. Daarna gaat men vaak door met het transformeren naar een PWA.

Ben je wat verder en het gebruik van de applicatie is toegenomen, dan is het logisch een native app te bouwen voor de meest soepele ervaring. Een meta framework kan daarin nog een overweging zijn, wanneer je met minder resources tot je beschikking, toch op meerdere platformen tegelijk actief wilt zijn.

Lees hier meer over hoe wij organisaties helpen met het ontwikkelen van een mobiele applicatie.

Wil jij je software overal en altijd gebruiken?

Je software overal en altijd gebruiken?

Maak direct een afspraak, dan bekijken we samen de mogelijkheden.

Maurits Dijkgraaf

Alle artikelen

Advies nodig? We helpen je graag.

Maak direct een afspraak voor een adviesgesprek