Mobiele websites, HTML5 apps, Hybride apps en Native apps: alle voor- en nadelen op een rij
Mobiele websites, HTML5 apps, Hybride apps en Native apps: alle voor- en nadelen op een rij| kennisbank
Als een programmeur aan de slag gaat om jou app te maken gebruikt hij hiervoor een bepaalde programmeertaal. Er zijn diverse talen waarin hij het programmeerwerk kan doen, elk met hun eigen voor en nadelen. Moet je gaan voor mobiele websites, HTML5 apps, Hybride apps of Native apps? De vijf belangrijkste methoden om een app te bouwen zetten we op een rij.
Mobiele websites zijn websites die optimaal functioneren op een smartphone of tablet. Terwijl je op een laptop of PC graag mooie grote afbeeldingen bekijkt en een uitgebreid design, is een mobiele website ervoor gemaakt om op een klein scherm toch de juiste informatie aan de gebruiker te geven. Vaak wordt daarom de menubalk verkleint, worden lappen tekst niet getoond en zijn er slechts kleine afbeeldingen te zien. Hierdoor laadt de website sneller op smaprthones met een trage internetconnectie. Mobiele websites zijn echter geen apps: er is veel informatie te vinden maar is er niet op gericht om een gebruiker een taak te laten uitvoeren.
Voordeel: Mobiele websites laden sneller dan gewone website en werken beter op een klein scherm dan een normale website.
Nadeel: Mobiele websites zijn niet gemaakt om een gebruiker een taak uit te laten voeren zoals bij een app.
HTML 5 is een nieuwe technologie die veel gebruikt wordt voor het creeeren van mobiele web-apps. HTML bestaat al een hele tijd en wordt gebruikt om website te maken, HTML 5 is de vijfde versie van HTML die erg geschikt is om interactieve inhoud weer te geven, zonder dat hier andere losstaande technieken zoals Flash voor nodig is. Dit maakt HTML5 erg geschikt om mobiele web-apps mee te bouwen. De scheidingslijn tussen een mobiele website en mobiele web-app is overigens erg klein. Mobiele websites die taakgericht ingericht zijn, zijn web-apps. Daarom zijn alle web-apps mobiele websites, maar niet alle mobiele websites mobiele web-apps. HTML 5 is erg geschikt om de interactie die benodigd is voor voor een taakgerichte mobiele web-app te maken, vandaar dat mobiele web-apps vaak HTML5 apps genoemd worden. Een mobiele web-app gedraagt zich dus als een website: je bereikt hem via de internet browser op je smartphone of tablet. Hierdoor hoef je niet te voldoen aan de richtlijnen van de Apple App Store of Google Play Store, maar kunnen gebruikers kunnen je app wel vinden via de veelgebruikte Google Internet zoekmachine. Tegelijkertijd zijn HTML 5 apps niet te installeren op je smartphone, waardoor gebruikers na een bezoek minder snel terug zullen komen. Ook kunnen er ook (bijna) geen gegevens op de telefoon worden opgeslagen met een HTML 5 app.
Voordelen: HTML5 apps hoeven niet goedgekeurd te worden voor Apple App Store of Google Play Store, HTML5 apps kunnen eenvoudig via internet gevonden worden.
Nadelen: HTML 5 apps worden niet geinstalleerd dus gebruikers komen niet snel terug en er kan maar weinig informatie lokaal opgeslagen worden.
"Elk van deze besturingssystemen heeft zijn eigen programmeertaal die veel van elkaar verschilt."
Letterlijk vertaald betekend Native: "in zijn natuurlijke omgeving". Native apps zijn namelijk geprogrammeerd in de taal die bedoeld is voor de smartphone. Deze taal is anders voor Android, Apple of Windows Phone Toestellen: elk van deze besturingssystemen heeft zijn eigen programmeertaal die veel van elkaar verschilt. Iedere taal kan optimaal communiceren met de telefoon waarop deze staat en kan hierdoor volledig gebruik maken van alle onderdelen van een smartphone zoals de processor, de camera, de GPS-positiebepaling en andere sensoren. Daarom is een native app snel en werkt hij vloeiend: hij kan 'praten' met de processor in de taal die zij beide goed begrijpen. Hierdoor kan een Native app gebruik maken van het smartphone geheugen is dus ook beschikbaar als er geen internetconnectie is. Nadeel van Native apps programmeren is dat als je een app wil voor Android, Apple én Windows Phone je de app ook 3 keer in een andere taal zal moeten laten programmeren. Dat kost natuurlijk tijd en daardoor geld, voor zowel de ontwikkeling als het onderhoud van de app. In tegenstelling tot een HTML5 app wordt een Native app geinstalleerd op een smartphone en is daarom ook beschikbaar via de Apple App Store of Google Play Store. Deze App Stores verdienen geld aan elke verkoop die er via een app wordt gemaakt, je bent in je app zo'n 30% van je omzet kwijt aan de app-store.
Voordelen: App is sneller, kan optimaal gebruik maken van alle mogelijkheden van de smartphone en is ook beschikbaar zonder internet.
Nadelen: App moet voor elk platform opnieuw geprogrammeert worden: dat kost tijd en geld voor ontwikkeling en onderhoud en App Store's vagen een vergoeding voor verkoop.
Een Hybride app zweeft tussen een HTML5 en Native app in. De app wordt namelijk geprogrammeert als een mobiele web-app, dus in HTML 5. Daarna wordt de app voorzien van een laagje, een zogenaamde 'wrapper', dat ervoor zorgt dat een smartphone de app herkent als een programma dat geïnstalleerd kan worden in tegenstelling tot een HTML 5 app die alleen in een webbrowser te zien is. De wrapper zorgt voor een vertaalslag tussen de HTML 5 technologie en de Native taal van de smartphone. Dat is handig, want nu hoef je de app maar één keer te ontwikkelen voor elk mobiel besturingssysteem. Deze zogenaamde 'crossplatform' aanpak is echter nog niet volwassen en daardoor is de vertaalslag die het laagje maakt nog niet volwassen. Dit zorgt ervoor dat de vertaalslag die wordt gemaakt door deze wrapper kan zorgen voor apps die minder goed presteren, met name op smartphones met goedkopere onderdelen. Deze traagheid in de app kan bij gebruikers van je app voor frustratie zorgen. Er zijn diverse fabrikanten van deze crossplatform oplossingen beschikbaar zoals PhoneGap, Titanium, RhoMobile en M2Active. Elk van deze oplossingen heeft zijn eigen voor- en nadelen, waarbij de gemene deler de ontwikkeling is voor meerdere platformen voor een gereduceerde prijs. Indien je gebruik maakt van een van deze oplossingen, hou er dan rekening mee dat je mogelijk afhankelijk wordt van een fabrikant omdat je zijn technologie gebruikt om je app te maken en te onderhouden.
Voordelen: je kan tijd en geld besparen door cross-platform aanpak, app wordt beschikbaar in app-store en is ook beschikbaar indien er geen internet is.
Nadelen: Prestaties van de app kunnen afnemen waardoor gebruikers gefrustreerd kunnen raken en een kans op afhankelijkheid van fabrikant.
Het onderstaande figuur illustreert het verschil tussen HTML5, Native en Hybride apps.
Download de Ontwikkelingsvergelijker
Na diverse gesprekken met developers en klanten die vragen hebben over de verschillende ontwikkelmethodes, heb ik de Ontwikkelingsvergelijker gemaakt. Je ziet snel de voor en nadelen van iedere methode om een app te maken.
Deze Ontwikkelingsvergelijker geeft een samenvatting van diverse ontwikkelmethodes voor apps. De kleur van iedere bol in deze PDF geeft aan in welke mate iedere methode dit kenmerk heeft, ten opzichte van de andere ontwikkelmethode. De gegevens uit de tabel zijn gebaseerd op interviews met diverse app-ontwikkelaars en de ervaring van AppSpecialisten.nl.