Mobiele apps: waar op te letten bij het kiezen van een technologie?
Bij app ontwikkeling heb je de keuze uit drie soorten technologie: native, web en hybrid. Met elke technologie is het mogelijk om mobiele apps te ontwikkelen voor smartphones en tablets, maar er zijn ook belangrijke verschillen. Bij het laten ontwikkelen van een app is het goed om te weten wat die verschillen zijn. In dit artikel bespreken we de voor- en nadelen van elk type technologie, zodat je de beste keuze voor jouw mobiele app kunt maken.
Drie gangbare technologieën
Er zijn op dit moment drie gangbare technologieën voor app ontwikkeling: native apps zijn specifiek ontworpen en gemaakt voor één mobiel besturingssysteem (iOS en Android), web apps draaien in de browser van je smartphone en zijn op elk mobiel besturingssysteem te gebruiken, en hybrid apps maken gebruik van een combinatie van native en webtechnologie.
Voor hybrid apps bestaan er twee varianten:
- De ‘conventionele’ hybrid app, die gebruik maakt van technologie zoals PhoneGap;
- De ‘native SDK’ hybrid app, die gebruik maakt van technologie zoals React Native.
Hoewel conventionele hybrid apps in het verleden veel zijn ontwikkeld, hebben ze een aantal belangrijke nadelen. Zo zijn de prestaties van conventionele hybrid apps over het algemeen niet optimaal. In dit artikel kijken we daarom alleen naar ‘native SDK’ hybrid apps.
Vergelijking
Native, web en hybrid apps kennen overeenkomsten én verschillen. In onderstaande tabel hebben we de drie technologiesoorten op twaalf belangrijke kenmerken met elkaar vergeleken. Er zijn meer kenmerken waarop de technologieën van elkaar verschillen, maar dit zijn in onze ervaring de kenmerken waar het in de meeste gevallen echt om gaat bij de keuze voor een bepaalde technologie.
Na de tabel volgt een toelichting op elk van de kenmerken.
Kenmerk | Native Specifiek voor het besturingssysteem ontwikkelde apps. | Web Op elk mobiel besturingssysteem te gebruiken. | Hybrid Een combinatie van native en webtechnologie. |
Platform-onafhankelijk | Nee | Ja | Grotendeels |
App gemakkelijk vindbaar voor gebruiker | Ja | Beperkt | Ja |
Icoon op het startscherm | Ja | Ja, maar vraagt om extra actie van gebruiker | Ja |
Prestaties | Uitstekend | Beperkt | Hoog |
Vrij van appstore commissies | Nee | Ja | Nee |
Toegang tot toestelfuncties | Ja | Beperkt | Ja; soms zijn platformspecifieke aanpassingen nodig |
Kosten en realisatietijd | Hoog | Laag | Gemiddeld |
Volledige controle op inhoud en business model | Nee | Ja | Nee |
Appstore goedkeuring vereist | Ja | Nee | Ja |
Ondersteuning voor notificaties | Ja | Nee | Ja |
Ook zonder internetverbinding te gebruiken | Ja | Beperkt | Ja |
Doorzoekbaar voor zoekmachines | Nee | Ja | Nee |
Platformonafhankelijk
Een native app is altijd specifiek voor één mobiel besturingssysteem geprogrammeerd. Wil je zowel iOS als Android ondersteunen, dan moet je voor elk besturingssysteem een aparte versie van de app ontwikkelen. Een web app draait in de browser van het mobiele apparaat en is op elk besturingssysteem te gebruiken. Een hybrid app maakt gebruik van een platformspecifieke broncode in combinatie met generieke webtechnologie. Daardoor is een deel van de broncode van de app platformonafhankelijk en op meerdere mobiele besturingssystemen te gebruiken. Dat scheelt tijd en geld, zowel bij de initiële bouw als in de doorontwikkeling.
App gemakkelijk vindbaar voor gebruiker
Native apps en hybrid apps zijn eenvoudig te vinden en installeren via de appstores van de mobiele besturingssystemen. Het maakt een app makkelijker vindbaar voor de gebruiker en biedt ook een marketingvoordeel. In de appstores kun je bijvoorbeeld adverteren, zodat de app hoger in de zoekresultaten verschijnt en zo onder de aandacht van potentiële gebruikers wordt gebracht. Voor web apps bestaan geen wijdverspreide appstores. Gebruikers kunnen de app vinden op het web, bijvoorbeeld via je website of een zoekmachine. Installatie is bij web apps niet nodig, want ze draaien in de browser van het toestel.
Icoon op het startscherm
Het is bij alle type apps mogelijk om een icoon op het startscherm van het mobiele apparaat te plaatsen. En net als bij native en hybrid apps kunnen web apps een ‘laadscherm’ tonen tijdens het openen van de app. Maar in de praktijk blijkt dat maar weinig gebruikers bij web apps iconen op het startscherm plaatsen. Bij native en hybrid apps heb je dat nadeel niet, want daar komt het icoon na installatie van de app automatisch op het startscherm te staan.
Prestaties
Native apps leveren de beste prestaties, doordat ze nagenoeg direct met de hardware van het mobiele apparaat communiceren. Web apps maken gebruik van de browser en daardoor zitten er meer lagen tussen de software en de hardware. Dat kan in sommige gevallen vertragend werken. Moderne hybrid apps kunnen nagenoeg direct met de hardware communiceren en kennen in de meeste gevallen dan ook geen merkbaar prestatieverlies ten opzichte van native apps. Maar wil je bijvoorbeeld een complexe user interface met veel animatie in je app gebruiken, dan heeft een native app wel een streepje voor.
Bij het ontwikkelen van een mobiele app komt er veel kijken. Wij geven je inzicht in het ontwikkelproces van mobiele apps.
Vrij van appstore commissie
Native en hybrid apps worden gedistribueerd via de appstore van het betreffende mobiele platform waarvoor de app is gemaakt. Reken je geld voor de app, dan moet je tot 30% van de eenmalige en herhaaldelijke inkomsten delen met de appstore. Dat is een flinke hap uit je omzet, maar het betekent wel dat je nu zelf geen betalingssysteem hoeft op te zetten (want de betaling verloopt via de appstore). Ook vergroot de appstore de vindbaarheid van je mobiele app. Web apps worden niet verspreid via de appstores en zijn daarom vrij van commissies, maar hou er daarbij wel rekening mee dat je mogelijk meer kosten kwijt bent aan adverteren of andere vormen van promotie dan bij native en hybrid apps het geval is.
Toegang tot toestelfuncties
Native apps hebben toegang tot meer apparaatfuncties dan web apps. De microfoon, fotogalerij, het adresboek en een eventueel aanwezige versnellingsmeter kunnen door een native app worden benut. Het uitlezen van de GPS-locatie van het toestel is met zowel native als web apps mogelijk. Hybrid apps kunnen net als native apps alle apparaatfuncties benutten, maar in somme gevallen moet wel wat platformspecifieke broncode worden geschreven.
Relatief lage kosten en realisatietijd
Web apps zijn meestal goedkoper en sneller te ontwikkelen dan native apps, omdat er maar één set broncode gemaakt hoeft te worden. Native apps zijn platformspecifiek, waardoor het voordeel van web apps toeneemt als je met de mobiele app verschillende mobiele besturingssystemen wilt kunnen ondersteunen. Hybrid apps zitten qua kosten en realisatietijd tussen native en web apps in.
Volledige controle op inhoud en businessmodel
Apple en Google hanteren verschillende regels over wat wel en niet is toegestaan met betrekking tot de inhoud en het businessmodel van native en hybrid apps. Met web apps heb je zelf altijd de volledige controle over de inhoud en het businessmodel.
Geen vertragingen door appstore goedkeuring
Wanneer je een native of een hybrid app uitbrengt of vernieuwt, moet je deze laten goedkeuren door de appstore van het mobiele platform. Dat proces kan tot enkele weken duren. Web apps worden vanaf de eigen server aangeboden en kennen daarom geen goedkeuringsproces.
Ondersteuning voor notificaties
Met native en hybrid apps is het mogelijk om notificaties naar gebruikers te sturen, zodra ze de app hebben geïnstalleerd en toestemming geven voor het ontvangen van berichten. Op dit moment kun je met web apps (nog) geen notificaties aan gebruikers sturen.
Ook zonder internetverbinding te gebruiken
Nadat ze op het apparaat zijn geïnstalleerd, kunnen alledrie de type apps zonder internetverbinding worden gebruikt. Bij native en hybrid apps zijn de mogelijkheden echter uitgebreider dan bij web apps.
Doorzoekbaar voor zoekmachines
Native en hybrid apps zijn door zoekmachines niet te doorzoeken. Ze worden daarom ook weleens ‘data silos’ genoemd; de data in een native app is niet toegankelijk voor andere systemen. Web apps maken gebruik van gangbare webtechnologie en zijn, mits op de juiste wijze geprogrammeerd, wel doorzoekbaar.
Wat is de beste techniek?
Welke techniek voor app ontwikkeling is nu uiteindelijk de beste? Dat hangt af van je specifieke toepassing en doelgroep. Als het belangrijk is dat de app zeer goede prestaties geeft, wat bijvoorbeeld het geval is bij zwaardere games en andere grafisch intensieve apps, dan is het aan te raden om voor native technologie te kiezen. Is je app minder zwaar, dan geven hybrid apps op basis van React Native technologie over het algemeen de beste balans tussen kosten, realisatietijd en prestaties. Dat is omdat een groot deel van de broncode op meerdere platformen kan worden hergebruikt.
Is je budget beperkt en wil je toch alle platformen ondersteunen, of kan je je app niet via de appstores verspreiden omdat je dan beperkt wordt in het implementeren van je businessmodel, dan is een web app waarschijnlijk de beste keuze.