PWA, Native of Hybride app laten maken?
Wanneer je van plan bent een App te laten maken zijn er nogal wat keuzes die je moet maken voordat je kunt beginnen met bouwen. In dit artikel leggen we de verschillen uit tussen de PWA (Progressive Web App, Native App en de Hybride App en welke optie het beste zou kunnen passen op basis van de use case.
PWA (Progressive Web App)
Een PWA is min of meer een mix tussen een website en een app. Deze web app is niet te downloaden uit een Appstore maar is net als een website gewoon te vinden op het web, via je browser. De PWA is geoptimaliseerd voor weergave op een mobiel apparaat en benadert het idee van een app, zij het wel met enige beperkingen. Je kunt met een PWA bijvoorbeeld wel gebruikmaken van hardware functies als camera, GPS en offline content maar nog geen push notificaties op iOS ontvangen, al lijkt het er wel op dat Apple hier in de toekomst mogelijkheden gaat bieden. Ook is het mogelijk om een PWA icoon te installeren waarna de PWA net als de native en hybride app vanaf je homescherm gestart kan worden. Daarmee biedt de PWA een ervaring die wat dichter bij de app ligt dan bij een website. Een PWA is meestal de goedkoopste optie maar kent ook de meeste beperkingen van de drie.
Voordelen PWA
Een PWA wordt ontwikkeld als een website met dezelfde technieken aangevuld met een manifest en service workers.
Een PWA is geschikt voor alle platformen door weergave via verschillende (mobiele) browsers: Chrome , Edge, Safari, Firefox en Opera op Windows , iOS en Linux besturingssytemen.
Er is maar één codebase nodig die geschreven kan worden in heel gangbare talen die webdevelopers gebruiken zoals html/css/javascript.
Nadelen PWA
Het verschilt per platform en browser welke functionaliteiten gebruikt kunnen worden. Zo kan op sommige browsers nog geen installatie met app icoon worden gebruikt of kunnen nog geen push notificaties ontvangen worden. De techniek is echter nog volop in ontwikkeling en de ondersteuning per platform groeit dus nog.
De snelheid en gebruikerservaring wordt in belangrijke mate beïnvloedt door kwaliteit en snelheid van het netwerk en de capaciteiten van het device waarop de PWA gebruikt wordt.
Native App
Native apps worden gebouwd met behulp van code die specifiek is aan voor het platform waarvoor je bouwt. Dit betekent dat als je een iOS-applicatie bouwt, Objective-C of hoogstwaarschijnlijk Swift de programmeertaal zal zijn. In het geval van Android zou dit betekenen dat Java of een variant daarvan zoals Kotlin gebruikt wordt.
Wanneer gekozen wordt voor Native benut je de volle potentie van het apparaat en het besturingssysteem waarvoor je ontwikkelt. Dus als je games of applicaties bouwt die sterk afhankelijk zijn van 3D-rendering, krijg je de beste prestaties en gebruikerservaring.
Een van de grootste nadelen bij het bouwen van een volledig native applicatie is dat je twee afzonderlijke applicaties moet bouwen. Eerst een app voor iOS en een andere applicatie voor Android. Dit drijft niet alleen de kosten voor het bouwen van uw app op, maar maakt het onderhoud van het updaten van twee afzonderlijke applicaties kostbaar. Het loont dus echt de moeite om goed uit te (laten) zoeken of Native bouwen noodzakelijk is voor jouw use case.
Voordelen Native Apps
Een must bij het ontwikkelen van games of apps die zwaar leunen op 3D rendering.
Volledige toegang tot onderliggende hardware en functies van het device gebaseerd op de Native SDK's
Design en gebruikersinterface sluiten naadloos aan bij het platform. Gebruikers zullen de ervaring krijgen die ze gewend zijn op hun device.
Nadelen Native Apps
Geen hergebruik van code, dus twee codebases ontwikkelen, één voor Android en één voor het laten maken van de iOS App
Alleen beschikbaar als mobiele app, dus niet op het web. De apps worden gedistribueerd via de app stores. Dat betekent ook dat de apps dienen te voldoen aan de richtlijnen/eisen die Google en Apple stellen.
Niet alleen de ontwikkeling kost meer tijd maar ook het beheer van 2 aparte codebases voor apps kost meer tijd en dus geld. Dit geldt ook voor doorontwikkeling van de apps.
Hybride App
Hybride App ontwikkeling is een mix tussen Native en Web apps. Ontwikkelaars integreren de code die is geschreven in web development talen (html/css/javascript) in een native app met behulp van plug-ins zoals Apache Cordova of Ionic Capacitor. Met behulp van deze plug-ins hebben ontwikkelaars toegang tot de native functies van platformen. Hybride app ontwikkeling geeft een een behoorlijke tijds- en kostenbesparing ten opzichte van native omdat de code één keer geschreven dient te worden en dan voor meerdere platforms gebruikt kan worden. Het eindresultaat is een App die eruit ziet en aanvoelt als een Native app. De Hybride App wordt ook net als Native via de Appstores gedistribueerd. Wist je dat populaire apps als Instagram, Twitter , Evernote en Uber ook hybride apps zijn?
Voordelen Hybride Apps
Hergebruik van code is mogelijk, er is maar één codebase nodig die geschreven kan worden in heel gangbare talen die webdevelopers gebruiken zoals html/css/javascript en bijvoorbeeld php voor het server deel.
De hybride app kan net als de Native app gebruikmaken van vrijwel alle native functies van het platform met behulp van plugins.
Ook voor het beheer en onderhoud van apps is het een groot voordeel om maar één codebase te hebben. Voor nieuwe Apps en MVP's is hybride ook erg fijn omdat ook de doorontwikkeling veel sneller te doen is dan bij de native App.
Door de snellere ontwikkeltijd zijn de kosten van een hybride app een stuk lager dan dan die van de Native app terwijl ze in veel gevallen een gelijkwaardige gebruikerservaring bieden.
Nadelen Hybride Apps
De prestaties kunnen iets minder zijn vergeleken bij de native app, wanneer het gaat om complexe / grafisch intensieve apps.
Plugins zijn geweldig omdat ze de hybride app de mogelijkheid geven om de native functies te gebruiken. Het betekent wel dat er een extra laag in de app zit waarmee je iets eerder tegen limieten aanloopt , plugins moeten aangepast worden aan nieuwe besturingssystemen of hardware functies. IN sommige gevallen is dan nog steeds een native developer nodig om een eigen plugin te schrijven of aan te passen.
Samengevat:
Ooit werd Hybride app ontwikkeling gezien als een compromis waarvan de kwaliteit toch wel achter bleef bij Native apps. Maar momenteel zijn de mogelijkheden en kwaliteit van browsers en hybride frameworks zo sterk toegenomen dat een hybride app met gemak de belangrijkste app functionaliteit ondersteunt zonder aan gebruikerservaring in te boeten.
De conclusie mag duidelijk zijn: Een hybride App laten maken is een stabiele en krachtige oplossing die vele organisaties helpt hun beschikbare middelen/budget op de beste manier in te zetten.
Laten we ook samenwerken.
Neem vrijblijvend contact met ons op om te bepreken hoe we ook jou kunnen helpen met het bereiken van je (digitale) doelen.