De meeste genoemde termen zijn hybride, web en native apps. Ik was erg benieuwd naar welke technieken ontwikkelaars zelf het liefs
t gebruiken. Om meer te weten te komen over technieken, platformen en de stand van zaken bij apps maken interview ik Robert Keus (rechts) van ontwikkelaar Brthrs.
Ha Robert, fijn dat je wat wilt vertellen over app techniek. Wat is jouw ervaring met de verschillende platformen waarmee je apps maakt?
Als wij aan een project beginnen kijken we altijd naar het idee en het concept, om de juiste techniek te kiezen. Als je apps maken gaat dan past bij elk idee een andere techniek. Daarom kijken wij altijd naar de eindgebruiker van de app. Moet de app bijvoorbeeld een ‘custom experience’ zijn met een goede gebruikerservaring? Dan ga je native apps maken.
Wil je een standaard app zonder bijzondere interacties? Dan kan een platform zoals Xamarin een goede keuze zijn om apps te maken. Xamarin zou je een mix tussen hybride en native kunnen noemen; een deel van het programmeren gebeurd voor Android en iOS tegelijk. In de praktijk is het alleen zo dat je nog steeds wel wat tijd kwijt bent om sommige onderdelen aan te passen voor Android of iOS. Stel, je wil apps maken voor een apotheek, met basiselementen zoals een standaard lijst met medicijnen. In dat geval kan Xamarin prima dienen om deze app te bouwen.
Oftewel, voor functionele apps waarbij design een ondergeschikte rol speelt, gebruik je Xamarin. Als je apps maken gaat met custom interacties, dan heeft Xamarin geen zin. Je moet dan sowieso 2x bouwen en geeft Xamarin geen voordelen meer. Daarbij is native apps maken een stuk duurzamer.
Iets dat meer potentie heeft en is React Native van Facebook. Hiermee roep je met Javascript native elementen van iOS/Android aan, waardoor je dus hybride ontwikkelt, maar wel native elementen gebruikt. De performance is dus hetzelfde als een native app. Instagram is hier bijvoorbeeld mee gebouwd. Echter blijft het wel zo dat wanneer het design van je app erg laat verschillen tussen Android/iOS dat de app net zo goed 2x native kunt maken. Dus keuze voor deze techniek hangt dus ook af van het concept, doel en wens.
Waarom zijn native apps dan duurzamer?
Je bent dan minder afhankelijk van één platform, zoals Xamarin. Als je weet hoe je apps maken moet voor Android en iOS, weet je zeker dat je app komende jaren met de trends mee loopt. Als Xamarin ermee stopt of niet dezelfde weg ingaat als de anderen zit je met de gebakken peren. Daarbij standaardiseren Android en iOS steeds meer. Dat noemen ze standaard ‘libraries’, ofwel bibliotheken waar standaard programmeercodes van functies in zitten. Dat is natuurlijk super handig, dat scheelt een hoop tijd. Dus als je het in duurzame zin bekijkt, maak je het beste native apps.
"Als je écht weinig budget hebt of snel iets wilt hebben zoals een prototype, dan zou je voor een webapp kunnen kiezen."
Hoe zit het met webapps?
HTML of web apps zijn nog steeds niet op het niveau van Native apps. Er zijn voortaan wel programma’s waarmee je hybride onderdelen in de webapp stopt. Toch is het zo dat hybride en webapps niet altijd een besparing in tijd zijn. Zelfs met programma’s als Angular, waarmee je native en javascript combineert, is het niveau nog te laag. Je bouwt dan wel één keer een app, maar daarna ben je nog veel tijd kwijt aan bepaalde onderdelen aanpassen zodat het helemaal werkt. Daarbij moeten die aangepaste onderdelen ook weer onderhouden worden.
Een voorbeeld van een programma die webapps maakt, is Ionic. Het lastige daarmee dat je afhankelijk bent van het platform, Ionic zelf dus. Afhankelijk van je doelgroep, gebruik je Ionic wel of niet. Als je een serieuze app maken wilt, dan zou ik niet met Ionic apps maken. Verder is de performance van je app ook een stuk minder. Als je écht weinig budget hebt of snel iets wilt hebben zoals een prototype, dan zou je daar wel voor kunnen kiezen.
Welke technieken gebruiken mensen in de praktijk veel?
Per idee wordt er vaak een andere techniek gebruikt. Wél heb ik vaak meegemaakt dat klanten naar ons toe komen met een hybride app en de volgende stap willen zetten. Ze willen meer ervaring, design, animaties of interacties in hun app. We moeten de hybride app dan overzetten naar een native app. Een voorbeeld is de Eneco Zonnesimulator app. Met deze app boots je het hebben van zonnepanelen na en bereken je de opbrengst. Er zijn hier verschillende apart interacties zoals het schuiven met je vinger over het scherm. We hadden deze app ook kunnen bouwen in Javascript maar dat zou hebben geleid tot een minder goede ervaring en langzame laadtijd. Daarom hebben we de Eneco Zonnesimulator app meteen native gemaakt, zodat het later niet nogmaals omgezet moet worden.
"Een telefoon kan veel niet aan, zoals op de gebieden van AI en VR. Maar een server wel!"
Hoe zie je de toekomst voor apps maken in?
Google is aan het experimenteren hoe apps in de cloud kunnen blijven. Dit is een logische stap. Internet gaat steeds sneller, dus wordt er ook meer mogelijk. Vroeger downloadde je films op DVD of harde schijf, nu wordt alles gestreamd. Een server heeft nu eenmaal méér processorkracht, combineer dat met snel internet, dan biedt dat zeker voordelen. Het is namelijk handiger als alles op één plek is. Een telefoon kan veel niet aan, zoals op de gebieden van AI en VR. Maar een server wel! Ik voorzie dus dat apps steeds meer in de cloud gaan draaien want daar zit veel meer rekenkracht achter dan op een telefoon. Het zou fantastisch zijn als Android ook Swift (de opensource programmeertaal van Apple) gaat ondersteunen. In dat geval zijn specifieke platforms zoals Xamarin een risico. Echter is dat nog wel ver weg,
Google helpt ontwikkelaars die apps maken nu al met Firebase. Dit is een mobiel platform waar je jouw app aan koppelt. Je koppelt jouw app aan hun cloudoplossing en dan gebruik je hun volledige oplossing. Bijvoorbeeld een foto opsturen en die krijg je dan geanalyseerd terug. Er hoeft dus niks op de telefoon worden gezet, dat gebeurd allemaal op de server.
Steeds meer tools zijn gratis te gebruiken voor app ontwikkelaars. Vroeger moest je voor een push notificatie een hele server inrichten. Nu regel je dat standaard geregeld via API’s of met Firebase. Verschillende functies zijn nu standaard geregeld, eigenlijk wordt de backend dus al voor je gemaakt. Dat maakt apps maken nu al een stuk makkelijker!
Wat is jouw advies voor apps maken aan mensen met een app-idee?
Ga alleen een webapps ontwikkelen als je een krap budget hebt en persé 2 platformen nodig hebt voor je doelgroep. Stel dat je een magazine app gaat maken, dan is het gek als je alleen voor Apple óf Android ontwikkelt. Als je daarnaast eenvoudige weergaves wilt, dus geen animaties voor het omslaan voor pagina’s bijvoorbeeld, dan is een hybride ontwikkeling een goede keuze.
Wil je een app met interacties en een goede gebruikservaring of heb je toch vaak aanpassingen nodig voor Android of iOS? Maak dan een native app of gebruik React Native.
"Onderhoud is verschillend voor iOS en Android."
Zijn de onderhoudskosten van deze technieken schreeuwend duur?
Dat kan, maar hoeft niet. De Uber app zet een heel team in voor het onderhoud en de data te bekijken. Dan zijn de onderhoudskosten veel duurder terwijl je er ook voor kunt kiezen om alleen voor de server e.d. maandelijks te betalen.
Onderhoud is verschillend voor iOS en Android. Android heeft veel verschillende telefoons gemaakt waardoor er nog veel oude versies lopen. Dat maakt het onderhoud lastiger. Bij Apple is er ook een belangrijke visuele update geweest van iOS 6 naar iOS 7 en er komt een nu weer één aan van iOS10 naar iOS11. Als je dus een app hebt gemaakt voor iOS 6 kost het onderhoud meer om diezelfde app te laten draaien op iOS 7. Wij hebben daarom contracten met klanten waarin staat dat we updates uitvoeren voor oudere apps. Met hybride apps moet je wel altijd even afwachten wat er verandert is en of het platform dat jij gebruikt de nieuwe functies ook ondersteunen. Native apps hebben steeds minder verschillen en veel is gestandaardiseerd. Zo is het verschil tussen iOS 10 en iOS 11 minimaal.
Concluderend, als je een visueel aantrekkelijke, professionele en duurzame app wilt hebben dan kun je het beste native apps maken. Wil je meteen aan de slag met een klein budget en is gebruikersgemak minder belangrijk? Dan is een hybride app een optie.
Met welke technologie kan jij het beste een apps maken?
Per bedrijf of idee moet geëvalueerd worden welke techniek het beste werkt voor jouw app. Gelukkig kan jij nu al bekijken welke techniek een goed idee is voor jouw app!
AppSpecialisten heeft daarvoor een Ontwikkelingsvergelijker gemaakt. Kies de techniek die het beste bij jouw idee past met de Ontwikkelingsvergelijker.
Om je de Ontwikkelingsvergelijker naar je te verzenden, vul je gegevens hieronder in:
Met de Ontwikkelingsvergelijker krijg je:
✔️ Welke technieken er zijn om apps te ontwikkelen
✔️ Zie in een overzicht de voor- en nadelen & kosten en baten
✔️ Kom erachter welke techniek past bij jouw app
Toegang tot de Ontwikkelingsvergelijker normaal €7 in de shop, nu GRATIS toegang:
-David van AppSpecialisten
Reacties: Wat vind jij van dit artikel?
Je hebt het bovenstaande artikel snel doorgelezen. De kopjes en iconen waren daarvoor handig. Maar misschien heb je iets gemist dat er niet in stond. Of misschien heeft dit artikel je juist geholpen. Laat een reactie achter en laat weten wat je van het artikel vindt!
Klik en laat een reactie achter