YtreeWebdesignVerschillen tussen een web en native applicatie

Verschillen tussen een web en native applicatie

Als web bureau lijkt de keuze voor HTML5 een logische keuze. Toch is het belangrijk om bewust te zijn van de verschillen die er bestaan tussen web en native applicaties.

 

Ontwikkelkosten
Native en webapps verschillen in ontwikkelingskosten. Dit heeft een paar redenen. De eerste reden is complexiteit. Native applicaties zijn moeilijker te ontwikkelen, hierdoor liggen de ontwikkelingskosten hoger. Ook heeft een programmeur specifieke kennis nodig van een programmeertaal zoals Java, of C# wanneer deze een native applicatie wil ontwikkelen.

 

De tweede reden is platformafhankelijkheid. Wanneer een native applicatie moet werken op meerdere platformen (Android en iOS) dan moet de applicatie geschikt worden gemaakt voor deze platformen. Dit betekend dat de applicatie in zowel Java als in C# moet worden geprogrammeerd. Hierdoor neemt het ontwikkelen van een native applicatie meer tijd in beslag.

Er bestaan tegenwoordig wel mogelijkheden om de applicatie vanuit een singel base zoals Mono te programmeren en te converteren naar verschillende platformen. Hierdoor kan een native applicatie sneller worden ontwikkeld voor meerdere platformen.

 

De ontwikkelkosten van een webapp liggen een stuk lager. Dit komt omdat een webapp minder complex is. Daarnaast heeft een webapp niets te maken met een platform of besturingssysteem, maar is het werkzaam binnen de browser. Hierdoor kan een webapp ontwikkeld worden met HTML en is deze te bekijken op meerdere platformen.

 

Vermarkting
De vermarkting van web en native applicaties verschilt. Zo kan een native applicatie wanneer deze uit ontwikkeld is gebruik maken van een store. Bij welke store de applicatie word aangemeld is afhankelijk van het platform waarvoor de applicatie is ontwikkeld. Vanuit deze stores kunnen gebruikers gratis of tegen betaling de applicatie op hun smartphone downloaden.

 

Een webapp kan ook gebruik maken van een store. Voordat dit mogelijk is moet een webapp eerst geschikt worden gemaakt voor een platform naar keuze. Dit kan met behulp van Phonegap. Met Phonegap kun je een webapp wrappen naar het juiste platform. Het is dan niet een native applicatie, maar Phonegap laad de applicatie in een webview binnen een browser. Zonder Phonegap kan een webapp geen gebruik maken van een store. Er zal een aparte marketing campagne bedacht moeten worden, om er voor te zorgen dat de applicatie onder de aandacht van de doelgroep komt.

 

Native functies
Met native functies worden functionaliteiten bedoeld waarover een smartphone beschikt. Voorbeelden zijn: toegang tot het adres boek, GPS, Camera, en gebruik van sensoren zoals gyroscoop en accelerometer.

 

Een native applicatie kan doordat deze direct op het platform is geïnstalleerd gebruik maken van al deze functionaliteiten. Webappʼs zijn hierin beperkt. Dit komt doordat webapp s werkzaam zijn binnen een mobiele browser, hierdoor hebben ze geen directe toegang tot de smartphone.

 

Toch is het mogelijk om bepaalde native functionaliteiten aan te spreken vanuit de browser. Dit kan met behulp van tools zoals Titanium en Phonegap, ook ondersteunen bekende browsers als Safari en Android browser steeds meer native functies. Hierdoor zal het in de toekomst gemakkelijker worden op bepaalde functies aan te spreken.

 

Cross platform
Wanneer een applicatie werkt op meerdere besturingssystemen noemen we dit cross-platform. Doordat webappʼs niets te maken hebben met een platform, maar werkzaam zijn binnen een mobiele browser zijn ze direct te bekijken op meerdere smartphones. Dit komt omdat elke browser gebruik maakt van dezelfde opmaak-taal, namelijk HTML. Een webapp kan hierom eenmalig ontwikkeld te worden, maar is direct op meerdere smartphones te bekijken.

 

Om een native applicatie voor meerdere platformen geschikt te maken is lastiger. Dit komt omdat native applicaties speciaal zijn ontwikkeld voor het besturingssysteem van de smartphone. Elk besturingssysteem maakt gebruik van eigen programmeertaal. Een applicatie ontwikkeld voor iOS (Objective C) werkt hierom niet op het Android besturingssysteem (JAVA). Dit maakt het lastig om een native applicatie cross-platform te maken.

 

Er bestaan mogelijkheden om een native applicatie sneller geschikt te maken voor meerdere platformen. Dit kan met behulp van Mono. Mono maakt het mogelijk om een native applicatie vanuit een single base te programmeren en later te converteren naar het juiste platform. Wanneer een ontwikkelaar gebruik wil maken van Mono zal deze wel C# moeten leren.

 

Interactie
Webappʼs gebruiken de webbrowser als platform. Dit betekend dat de applicatie altijd vanuit de webbrowser bekeken moet worden. Een native applicatie gedownload uit de App Store word direct op de telefoon geïnstalleerd. Dit betekend dat een native applicatie altijd op het bureaublad van de gebruiker aanwezig is en dus maar een klik verwijderd van interactie met de gebruiker.

 

Een webapp heeft altijd de webbrowser nodig als platform en is afhankelijk van een internet verbinding om bekeken te worden. Ook is een webapp niet direct aanwezig op het bureaublad van de gebruiker. Deze zal de applicatie eerst toe moeten voegen aan zijn of haar favorieten. Op deze manier kan de webapp direct vanaf het bureaublad gebruikt worden.

 

Om er voor te zorgen dat de gebruiker een goede interactie heeft met de applicatie is het belangrijk dat deze soepel en snel werkt. Traag internet kan mede de oorzaak zijn dat een webapp traag werkt wat resulteert in een slechte interactie met de gebruiker. Dit zal bij native applicatie nooit het geval zijn. Naast het feit dat een webapp afhankelijker is van een internet verbinding dan een native applicatie, moeten ook de afbeeldingen die gebruikt worden bij een webapp, eerst worden gedownload op het toestel. Bij een native applicatie is dit al gebeurd. Hier worden alle grafische elementen op de telefoon zelf opgeslagen. Dit gebeurt eenmalig. Hierdoor hoeft bij het opstarten van de app alleen content op gehaald te worden. Dit resulteert in een snellere laadtijd van de applicatie en uiteindelijk bevorderd dit de interactie.

 

N.B: Om bezoekers van een webapp bewust te maken dat ook een webapp aan het beginscherm toegevoegd kan worden kan er gebruik worden gemaakt van de plug-in Add To Home Screen. Door middel van een popup word de bezoeker er op geattendeerd dat een webapp net als een native app kan worden toegevoegd aan het beginscherm. Hierdoor hoeft in de toekomst niet het volledige url adres in worden gevoerd maar is er net als bij een native applicatie directe interactie mogelijk.

 

Beheerbaarheid
Bij een webapp zijn doorgevoerde aanpassingen direct zichtbaar na het verversen van de webbrowser. Een complete applicatie updaten is niet nodig. Aanpassingen doorvoeren in een native applicatie is lastiger, vooral wanneer je applicaties ontwikkeld voor een iPhone. Dit komt omdat elke aanpassingen eerst moet worden goed gekeurd door Apple. Hierdoor duurt het langer voordat aanpassingen zichtbaar zijn. Wanneer Apple goedkeuring heeft gegeven kunnen gebruikers een update downloaden waarin de aanpassingen zijn doorgevoerd.

 

Android werkt niet met goedkeuring. Applicaties ontwikkeld voor Android kunnen zonder toestemming worden toegevoegd aan de Android market, deze applicaties worden niet gecontroleerd. Hierdoor kunnen gebruikers de applicatie sneller updaten en zijn aanpassingen op het Android platform sneller zichtbaar.

 

Offline data
Wanneer er geen internet verbinding mogelijk is moet een applicatie toch gebruikt kunnen worden. Native applicaties maken hiervoor gebruik van offline data. Op deze manier kan de gebruiker de applicatie toch gebruiken. Zodra er wel weer een verbinding mogelijk is word de content binnen de applicatie geüpdatet. Webapps kunnen ook offline gegevens opslaan alleen in mindere mate. Middels een manifest kunnen gegevens van de applicatie onthouden worden en later weer worden opgevraagd.

 

Conclusie
Wanneer je als ontwikkelaar voor de keuze staat om te kiezen voor een web of native gerichte oplossing is het belangrijk om bij de mogelijkheden van beide stil te staan. Een applicatie kan gebouwd worden op verschillende manieren en voor verschillende platformen, maar het uiteindelijke doel, het bereiken van de doelgroep en de taak die het moet uitvoeren (functionaliteiten), bepalen welke oplossing het meest geschikt is.

 

Zo zijn native applicaties sneller doordat ze directer op het toestel zijn geïnstalleerd. Hierdoor hebben ze een betere interactie met de gebruiker en kunnen ze gebruik maken van alle functionaliteiten waarover een smartphone beschikt. Nadelen zijn de platform afhankelijkheid en de hoge ontwikkelingskosten.

 

Webapps gebruiken de browser als platform. Dit heeft als voordeel dat ze cross-platform zijn. Hierdoor zijn te bekijken op meerdere smartphones. Een nadeel van webapps is dat ze afhankelijker zijn van een internet verbinding en niet alle native functionaliteiten van de telefoon direct kunnen benaderen. Ondanks dat webapps beperkt zijn qua functionaliteit en minder snel werken als een native applicatie Heeft de keuze voor webapps wel een aantal grote voordelen

 

  • Er hoeft geen tijd worden gestoken in het leren van een nieuwe programmeertaal zoals Java of C#
  • Er hoeft binnen het bedrijf geen nieuw werknemer aangenomen te worden met specifieke kennis van een native programmeertaal.
  • Binnen een web bureau is specifieke kennis van web-technieken al aanwezig. Hierdoor kan de overstap naar webapps gemakkelijker worden gemaakt.
  • Bij het ontwikkelen van een webapp hoeft je geen rekening te houden met diversiteit en fragmentatie.

Een reactie plaatsen:

De volgende HTML tags and attributes zijn toegestaan: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*