Web Apps vs. Native Apps vs. Hybride Apps

Mobiele apps verschillen van elkaar in de mogelijkheden, inhoud en het type app. De meest bekende mobiele app types op de markt zijn: native, web en hybrid. Door deze apps met elkaar te vergelijken betekent dat niet per definitie dat het ene type mobiele app beter is dan de andere. Het is vanzelfsprekend dat de kosten om een mobiele app te ontwikkelen en doorlooptijd belangrijke factoren zijn bij het maken van een keuze voor een bepaald type app.

Waarschijnlijk ben je andere artikelen tegengekomen waarin een vergelijking wordt gemaakt tussen: hybride app vs. native app, native app vs. web app, web app vs. hybride app en ga zo maar door. In dit artikel zullen we kijken naar alle drie de typen mobiele apps, namelijk:

  1. Web apps
  2. Native apps
  3. Hybride apps

Deze typen apps zullen zorgvuldig worden geanalyseerd. denk aan: voor- en nadelen, technische parameters, testen en app ontwikkelingsplatformen.

1. Web apps

Web apps worden gehost door een browser zoals: Safari, Mozilla of Chrome. Ze zijn ontwikkeld met webtechnologieën/programmeertalen, zoals HTML, CSS en JavaScript. Maak hierbij niet de fout door te denken dat een web app hetzelfde is als een web browser. Web apps maken gebruik van de web view optie. In de meeste gevallen wordt dit gedaan door een browser te verwerken in een app. In feite is het een website, die eruit ziet als een native app. Een web app hoeft niet gedownload en geïnstalleerd te worden via een app store. Het is toegankelijk via een URL en kan op elk apparaat worden gebruikt, ongeacht het besturingssysteem.

Naast ‘gewone’ web apps, zijn er ook ‘Progressive web apps (PWA’s) ‘. Deze kunnen gelimiteerde functionaliteiten van native web apps simuleren.

Voordelen

  • Makkelijk om te ontwikkelen en onderhouden
  • Aanzienlijk lagere kosten
  • Een app voor alle platformen

Nadelen

  • Een browser is nodig voor een web app
  • Lagere snelheid dan native apps
  • Web apps zijn minder interactief en intuïtief dan native apps
  • Geen icoon beschikbaar op het mobiele scherm
  • Kan geen gebruik maken van ingebouwde middelen van smartphones, zoals: bluetooth, contactpersonen, de camera, etc.

2. Native apps

Native apps zijn mobiele applicaties die (wereldwijd) kunnen worden gedownload in online app stores, zoals de Apple App Store en Google Play Store. Native apps zijn ontwikkeld in de specifieke ontwikkelomgeving van besturingssystemen (denk aan iOS of Android). Voor iOS is dit Xcode en voor Android is dit Android Studio.

Programmeertalen die gebruik worden zijn Swift en Objective-C voor iOS en Java voor Android. Daarnaast zorgen de opties van Integrated Development Environment (IDE) software voor een snelle en intelligente app ontwikkeling. Mobiele apps die ontwikkeld worden met IDE worden gerepliceerd in de programmeertaal specifiek voor het platform waardoor de kosten omhoog gaan.

Voordelen

  • Snel in de executie en reageren snel op de gebruiker.
  • Beste prestatie.
  • Grootschalig gedistribueerd in jouw app store naar keuze.
  • Meer intuïtief en interactief.
  • Prestatie optimalisatie wordt bereikt doordat native kenmerken alles inclusief zijn.
  • Continue gebruik van internet is niet noodzakelijk (afhankelijk van de functie).
  • Betere gebruikerservaring.

Nadelen

  • Moeilijke en geavanceerde programmeertaal waardoor er gebruik moet worden gemaakt van gespecialiseerde ontwikkelaars.
  • Relatief duurder.

3. Hybride apps

hybride apps integreren zowel native als web apps. De programmeertaal die gebruikt worden zijn: CSS, JavaScript en HTML5. Deze apps werken vaak met web views net zoals web apps, maar hebben extra mogelijkheden en functionaliteiten die te vinden zijn bij native apps. De achtergrond om deze apps te ontwikkelen ligt bij op maat gemaakte apps waarbij standaardisatie wordt verminderd.

De app is gefragmenteerd in twee onderdelen. Back-end code die wordt ontwikkeld in de bovengenoemde programmeertalen en de native omhuizing dat zich identificeert met native apps. De kosten om een hybride app te ontwikkelen zijn lager dan die van een native app.

Voordelen

  • Ontwikkeld met web technologie programmeertalen zoals: HTML, CSS en JavaScript. Hierdoor zijn deze apps relatief makkelijker te bouwen.
  • Relatief minder duur als native applicaties.
  • Een enkele applicatie voorziet meerdere platformen.
  • Een browser is niet noodzakelijk zoals bij web apps.
  • De app heeft toegang tot ingebouwde functies van een toestel zoals camera, etc.
  • Hybride apps zijn sneller te ontwikkelen dan native apps aangezien deze gebruik maken van een individuele – single code basis.

Nadelen

  • Langzamer dan native apps.
  • Deze apps zijn erg duur in vergelijking met standaard web applicaties die door een platform van een derde partij gesourced wordt.
  • Minder interactie in vergelijking met native apps.
  • Maatwerk past niet goed samen bij een hybride model, waardoor uiteindelijk de voorkeur uitgaat naar een native app.

Hoe moet je de (verschillende) apps testen?

Omdat er veel verschillen zijn binnen de typen apps (native, web en hybrid), is het belangrijk om rekening te houden met deze verschillen wanneer je de apps test. Er kunnen verschillende problemen ontstaan. Hierom moet bij alle verschillende typen apps, tijdens het testen, op specifieke factoren worden gefocust. Uiteraard moeten de apps naast deze focuspunten, ook worden getest volgens de algemene test procedures. Hierover lees je meer in onder andere hoofdstuk 4 van onze handleiding voor app ontwikkeling, en de blog ‘app testen: tips & tricks‘.

Hieronder staan belangrijke factoren beschreven per type app, waarop moet worden gelet bij het testen van de app.

web apps

  • UI testen: Test de User Interface (UI) elementen op mobiele toestellen die verschillen in schermgrootte en resolutie. Omdat web apps niet zijn gebouwd voor de verschillende besturingssystemen, moet de consistentie van de app worden gecontroleerd.
  • Data consumptie: Web apps gebruiken meer data doordat deze van een server moeten worden gehaald. Het is dus essentieel om de data consumptie van deze apps goed te bekijken, en te minimaliseren waar mogelijk.
  • Connectie problemen: Soms kan een web app tegen problemen aanlopen wanneer deze van het mobiele netwerk overschakelt op Wi-Fi (en andersom).
  • Batterij gebruik: Web apps maken gebruik van JavaScript waardoor in de meeste gevallen de batterijduur sneller omlaag gaat.

Testen native en hybride apps

Tussen native en hybride apps bestaan veel verschillen, maar tegelijkertijd zijn er veel overeenkomsten als het op de functionaliteit van het domein uit komt. Dit komt erop neer dat bij het testen van native en hybride apps op dezelfde dingen kan worden gefocust.

  • Functionaliteit
    • Native functies: Native (en vaak hybride apps) maken gebruik van native functies. Dit zijn ingebouwde middelen van de app, zoals de camera, locatie, etc. Test daarom of deze ingebouwde middelen op de juiste manier functioneren.
    • Batterij: Het gebruik van de batterij en het geheugen moet getest worden en waar mogelijk worden geminimaliseerd.
    • Ontvangst: Test de app tijdens het ontvangen van:
      telefoongesprekken, push notificatie en berichtjes.
    • Installatie: Native en hybride apps moeten worden gedownload via de app stores. Test daarom of er problemen ontstaan bij het installeren en verwijderen van de app.
    • Gebruiksgebaren: De gebruiksgebaren moeten bekeken worden.
    • Oriëntatie: Test de oriëntatie van het scherm.
    • Prestatie: bekijk in het geheel of de app presteert zoals de app zou moeten presteren.
  • Compatibiliteit
    • Comptabiliteit: Tests de app op verschillende toestellen.
  • Connectie
    • Connecties: Test met verschillende connecties.
    • Overschakelen: Wanneer overgeschakeld wordt naar een andere connectie moet gekeken worden of alles goed gaat.
    • Offline: Test de app offline.

Wat moet je kiezen?

Wij, Glamorous Goat, richten ons alleen op het bouwen van échte premium apps. Dit betekent dat wij alleen native apps bouwen, voor een optimale kwaliteit.

Heb jij meer informatie of handvaten nodig, of ben jij op zoek naar iemand die jou kan ondersteunen bij het ontwikkelen van jouw app? Neem dan een kijkje bij:

Of: neem vooral contact met ons op!


Nog steeds niet helemaal duidelijk?

Ik help je graag met al je vragen. Je mag me altijd even bellen of mailen.