Blog

Berichten getagged met ios

Apps: Native of alternatieven?

05 October 2013 om 18:22

Mobiele applicaties blijven razend populair en de vraag naar uiteenlopende apps blijft groeien.
Een van de eerste vragen die hierbij komt kijken is voor welke platformen de app ontwikkelt moet worden. Vaak wordt er snel voor gekozen om te starten met een iOS versie en later pas met een Android versie.
De gedachte lijkt vaak dat een app in ieder geval op een iPhone/iPad beschikbaar moet zijn en eventueel later pas op apparaten die op Android draaien. Inmiddels worden beide platformen haast evenveel gebruikt dus het kiezen voor een specifiek platform zal automatisch een deel van de potentiële gebruikers uitsluiten.

Het onderstaande verhaal probeert duidelijkheid te geven over de verschillen tussen ontwikkeling voor een specifiek platform of een crossplatform oplossing.

Native ontwikkelen

iOS SDKAndroid SDKZowel Android als iOS hebben een eigen SDK (Software Development Kit) waarmee apps ontwikkeld kunnen worden. Een SDK is speciaal voor een platform gemaakt en geeft de ontwikkelaar mogelijkheden om gebruik te maken van de basis functionaliteiten van het apparaat zoals GPS of bewegingssensoren. Vaak bieden deze SDK’s ook mogelijkheden om interface-elementen te gebruiken die aansluiten bij de "look-and-feel" van het apparaat. Doordat de applicatie specifiek met de technieken van het besturingssysteem wordt gebouwd kun je optimaal gebruik maken van de krachten van het apparaat. Een native ontwikkelde app zal dus vaak het snelst presteren.

Een nadeel van het native ontwikkelen is dat je per platform moet ontwikkelen, de programmeertaal en elementen die je gebruikt verschillen en ook de manier waarop je communiceert met de functionaliteiten van het apparaat zijn anders waardoor je per platform een losse app zal ontwikkelen. Kiezen voor een enkel platform sluit gebruikers uit en zal het bereik van je app dus verminderen.

Een ander nadeel is dat de technieken in een rap tempo veranderen waardoor het als ontwikkelaar een hele taak is om van alle verschillende technieken de laatste ontwikkelingen tot in detail te beheersen. Dit terwijl de focus van de ontwikkeling moet liggen bij de functionaliteiten en gebruiksvriendelijkheid van de applicatie, niet bij de achterliggende techniek.

Als laatste is het als opdrachtgever natuurlijk niet wenselijk om "dubbel" te betalen voor de ontwikkeling van een app die je uiteraard voor zoveel mogelijk gebruikers beschikbaar wil maken.

Crossplatform ontwikkeling

Een alternatief voor het gebruik van de native technieken is om gebruik maken van een crossplatform techniek. Hiermee kun je een app los van een specifiek apparaat of besturingssysteem ontwikkelen. Vaak gebruiken deze oplossingen een soort tussenlaag die communiceert met de platform specifieke mogelijkheden. Wanneer je bijvoorbeeld de locatie van het apparaat nodig hebt kun je dit via een uniforme manier opvragen, de tussenlaag in de software bekijkt dan simpel gezegd om welk platform het gaat en weet dan hoe het voor dat platform achter de locatie kan komen.

Je kunt hiermee dus een enkele app bouwen en die op meerdere platformen gebruiken, behalve iOS en Android zijn deze oplossingen vaak ook beschikbaar voor andere platformen waarvoor je normaal minder snel een losse app zult ontwikkelen omdat de doelgroep hiervan wellicht niet groot genoeg is.

Een nadeel aan het gebruik van een dergelijke oplossing is vaak de snelheid, door het toevoegen van een tussenlaag is er een extra stapje nodig in het communiceren met het apparaat wat een beetje inlevert wat betreft snelheid, daarnaast zijn niet altijd alle mogelijkheden beschikbaar, in de meeste gevallen zijn deze crossplatform technieken echter actief in ontwikkeling en volgen ze de ontwikkelingen van de verschillende mobiele apparaten goed.

Een ander nadeel is dat je niet de beschikking hebt over de grafische elementen die aansluiten bij de het apparaat zelf. Bij het ontwerpen van de app zal hier rekening mee moeten worden gehouden. In sommige gevallen zal de gebruiker dan wel moeten wennen aan sommige interfaces omdat de "look-and-feel" dus minder zal aansluiten bij het apparaat zelf.

PhoneGap

PhoneGapPhoneGap is een van deze crossplatform technieken die Expertees meestal gebruikt. PhoneGap biedt de mogelijkheid om apps te ontwikkelen met HTML5, CSS en Javascript. Een groot voordeel hiervan is dat HTML en javascript erg makkelijk zijn om te gebruiken en voor veel ontwikkelaars niet nieuw zijn. Met dezelfde kennis waarmee al jaren websites worden ontwikkeld kan de ontwikkelaar nu ook apps ontwikkelen. HTML is de basis van alle websites en Javascript heeft in de afgelopen jaren een enorme ontwikkeling gemaakt, er is dus erg veel kennis beschikbaar wat je als opdrachtgever ook minder afhankelijk maakt van een specifieke ontwikkelaar.
Omdat HTML in principe in alle browsers te gebruiken is kan de app ook gemakkelijk op de computer gebruikt worden. Daarnaast kan een mobiele website redelijk eenvoudig tot een app worden omgebouwd of andersom.

Wat is de beste oplossing?

Een beste oplossing is er niet echt, per project is het belangrijk om te kiezen voor de techniek die het best aansluit bij het doel van de app. Wat is de doelgroep, is het een spel met mooie graphics, maakt de app veelvuldig gebruik van de camera of gps mogelijkheden, is de (dynamische) content heel erg belangrijk en wat is het budget?

In de meeste gevallen is het de taak van de ontwikkelaar om te kiezen voor de beste techniek.
Als klant is het wel goed om te weten wat de mogelijkheden zijn en waar je uiteindelijk voor kiest.

Wilt u meer informatie over het laten ontwikkelen van een app dan kunt u altijd vrijblijvend contact opnemen.

iOSAndroidMobiele applicatiesappsPhoneGapcrossplatformnative