ID.nl logo
Zelf een smartphone-app bouwen: Met welke tools doe je dat?
© Reshift Digital
Huis

Zelf een smartphone-app bouwen: Met welke tools doe je dat?

Stel, je hebt een fantastisch idee voor een app. Het bestaat nog niet, dus je wil zelf deze smartphone-app bouwen. Maar dat heb je nog nooit gedaan. Waar begin je dan mee? In dit artikel sommen we op welke app-soorten er bestaan en welke ontwikkeltools er voor handen zijn.

We zijn de hype weliswaar een beetje voorbij, maar het blijft voor velen een droom om een eigen app te maken. De potentie is enorm: vrijwel iedereen loopt met een smartphone rond. Mondiaal gaat het weliswaar om ‘slechts’ 45 procent van de wereldbevolking, maar in vrijwel alle meer ontwikkelde landen ligt dat percentage boven de 85 procent. 

Nederland blijkt zelfs koploper: meer dan 93 procent is hier in het bezit van een smartphone. Op de gemiddelde smartphone zijn 60 tot 90 apps geïnstalleerd. Verdient jouw app een plekje op al die toestellen? En op welke manieren kun je die app dan bouwen?

We behandelen de apps per soort, want er bestaan verschillende. Daarna gaan we ook nog even in op andere aandachtspunten, zoals de uitdagingen van Android en iOS-compatibiliteit.

Native app

Een app die specifiek is ontwikkeld voor een bepaald mobiel besturingssysteem noemen we een native app. Ze worden meestal gemaakt met de ontwikkelomgeving en programmeertaal die bij het platform hoort. Bij Android is de ontwikkelomgeving veelal Android Studio en de programmeertaal Kotlin of Java. Bij iOS heet de voornaamste ontwikkelomgeving Xcode en de programmeertaal doorgaans Swift of Objective-C.

Je moet de ontwikkelomgeving én programmeertaal leren kennen, net als de ins en outs van het platform. Dat is best een uitdaging. Maar een native app kan wel álle mogelijkheden benutten en werkt vaak sneller, vloeiender en intuïtiever dan op andere manieren gebouwde apps. De integratie met andere apps is eveneens beter. Je merkt aan alles dat zo’n app specifiek voor het platform is gemaakt. Toch hoef je niet altijd zo’n native app te ontwikkelen. Soms heb je genoeg aan bijvoorbeeld een webapp of hybride app.

Webapp

Met webtechnologieën als html, css en JavaScript kun je websites maken die er op elk apparaat goed uitzien. Ze worden responsief genoemd omdat ze zich aan de scherm- of venstergrootte van het apparaat aanpassen. Je kunt nog een stapje verder gaan en een mooie app-achtige gebruikersinterface maken. Bibliotheken of frameworks voor JavaScript kunnen je daarbij helpen. Het resultaat noemen we een webapp.

Een goed voorbeeld is Facebook: de gebruikersinterface van de website voelt in veel opzichten aan als een app. Het bouwen van een webapp is interessant als je ervaring hebt met webdesign. Wel blijft het resultaat altijd ‘gewoon’ een website die de gebruiker moet openen in de browser en niet een installeerbare app. Al kan er wel een mooi icoontje voor worden gemaakt voor op het beginscherm.

©PXimport

Hybride app

Een hybride app is in de basis een webapp, maar dan in het jasje van een app, geschikt voor zowel Android als iOS. Je kunt de app distribueren via de betreffende appstores. Een hybride app is eenvoudig voor meerdere platforms uit te brengen, ook wel cross-platform genoemd. 

Er zijn speciale frameworks voor het maken van hybride apps. De populairste zijn Ionic en React Native. Verder heb je bijvoorbeeld PhoneGab en Cordova. Vooral React Native is in opkomst. Het is een mooie optie als je veel ervaring hebt met JavaScript, waar het sterk op leunt. De apps die je hiermee bouwt zijn bijna niet te onderscheiden van native apps, maar kennen ook hun beperkingen. Zo kun je vaak niet alle hardware van de smartphone gebruiken.

App maken voor Android of iOS?

In de markt voor smartphones heerst al sinds jaar en dag een strijd tussen smartphones met Android en de iPhone van Apple – zonder duidelijke winnaar. Beide platforms bieden een eigen ontwikkelomgeving en gebruiken een andere programmeertaal. Wil je een native app maken, dan moet je dus kiezen voor welk platform je die (in eerste instantie) gaat maken. 

Een belangrijk verschil vanuit ontwikkelaarsoogpunt is dat je bij Android rekening moet houden met een enorme verscheidenheid aan fabrikanten en toestellen, met bijvoorbeeld uiteenlopende schermafmetingen en -verhoudingen of technische mogelijkheden. Daarnaast zijn er heel veel versies van Android in omloop. Fabrikanten zijn nooit heel trouw geweest met het uitbrengen van updates. 

Ook Apple heeft inmiddels een hele rits iPhones geproduceerd in verschillende soorten en maten waar je rekening mee moet houden, maar het aantal is veel beperkter, net als de onderlinge verschillen tussen de apparaten. Bovendien draait op het gros van – niet al te oude – apparaten gewoon de laatste iOS-versie. Dat maakt het als ontwikkelaar makkelijker om nieuwe functies te benutten.

©PXimport

Google en Apple hebben elk een eigen gratis ontwikkelomgeving voor het maken van apps. Voor Android is dat Android Studio, beschikbaar voor Windows, macOS, Linux en Chrome OS. Apple stelt Xcode beschikbaar om apps voor iOS te maken. Deze software kun je alleen op macOS installeren. Je kunt die beperking eventueel omzeilen door een virtuele machine met macOS te gebruiken binnen je eigen besturingssysteem, zoals Windows. Dat kan bijvoorbeeld met de gratis Virtual Box-software van Oracle. Het druist wel tegen de licentievoorwaarden van Apple in.

Een ander alternatief – het ‘nabouwen’ van een Mac (ook wel Hackintosh genoemd) – is ook een optie, maar is evenmin een officiële methode en door hardware-beveiligingen steeds lastiger. Wil je voor dit platform gaan ontwikkelen, dan ontkom je er bijna niet aan een Mac, MacBook of eventueel een losse Mac mini aan te schaffen.

Cross-platform app ontwikkelen

Je zult er veel tijd en moeite in moeten steken om een app voor een bepaald platform te maken. En wil je de app dan ook nog voor het andere platform uitbrengen, dan krijg je opnieuw met een vergelijkbare leercurve te maken. Het zogeheten cross-platform ontwikkelen is een manier om dat te voorkomen.

Een bekend voorbeeld is Xamarin, waarin je met de programmeertaal C# werkt. Heb je ervaring met het maken van websites? Dan kun je zoals eerder aangehaald ook een hybride app overwegen met bijvoorbeeld React Native. Ook dan kun je het resultaat distribueren via appstores. Voor bovenstaande opties geldt echter dat je niet altijd alle mogelijkheden van het smartphoneplatform kunt benutten. 

een nadeel is dat cross-platform-ontwikkelomgevingen meestal minder gebruiksvriendelijk zijn. Ook is het soms lastiger om de app te optimaliseren en om specifieke hardware- of software-eigenschappen van een platform te benutten.

Je inspanningen worden dus zeker beloond als je je in Android óf iOS en in de toegepaste ontwikkelomgeving en programmeertaal verdiept. Je hoeft je daarbij zeker niet tot apps voor smartphones te beperken. Zonder al te veel moeite kun je dezelfde app geschikt maken voor tablets, zolang je hier rekening mee houdt bij het bouwen van de gebruikersinterface. En met smartphones en tablets houdt het nog lang niet op...

©PXimport

Apps voor smartwatch, tv en meer

Zowel Android als iOS wordt breed ingezet. Zo wordt Android bijvoorbeeld in de vorm van Android TV als besturingssysteem in diverse smart-tv’s en losse mediaspelers gebruikt. Ook bestaan er smartwatches met Wear OS, wat in feite een aangepaste editie van Android is. Ook op deze platforms kunnen apps geheel zelfstandig draaien. En al deze apps kun je met Android Studio maken.

Voor Apple geldt bovenstaande ook. Zo kun je met dezelfde Xcode-ontwikkelomgeving apps maken voor Apple TV (dat tvOS gebruikt), voor Apple Watch (met watchOS) en ook voor macOS, het desktopbesturingssysteem. Natuurlijk komt alle hardware wel weer met zijn eigen uitdagingen, zodra je daar een app voor gaat maken. Maar je kunt eenvoudiger instappen. Niet alleen de ontwikkelomgeving en programmeertaal zijn dezelfde, ook de stappen voor het bouwen van de app hebben veel gemeenschappelijk. In no-time heb je er dus een nieuwe doelgroep bij.

 Nu heb je een aardig idee van alle mogelijkheden die er voor je liggen, zodat je jouw app-idee werkelijkheid kan maken. Vinden we 'm straks terug in de downloadwinkels van Google en Apple?

▼ Volgende artikel
Gerucht: Nexon werkt aan Starcraft-shooter voor Blizzard
Huis

Gerucht: Nexon werkt aan Starcraft-shooter voor Blizzard

Het Zuid-Koreaanse zou een shooter gebaseerd op Starcraft in ontwikkeling hebben voor IP-eigenaar Blizzard.

Dat claimt The Korean Economic Daily. Een team binnen Nexon dat gespecialiseerd is in shooters zou zich op dit moment volledig richten op de nog onaangekondigde game. De ontwikkeling zou nog niet lang geleden zijn gestart, en dus zou de shooter nog lang op zich laten wachten.

Verdere details zijn er nog niet, behalve dat Choi Jun-ho ook bij het project betrokken zou zijn. Hij maakte eerder de populaire Shinppu-mapmod voor Starcraft.

Starcraft

Er gaan al langer geruchten over een shooter gebaseerd op Starcraft. Vorig jaar meldde Bloomberg-journalist Jason Schreier al in zijn boek 'Play Nice: The Rise, Fall and Future of Blizzard Entertainment' dat Blizzard aan een shooter zou werken. Volgens Schreier is de shooter van Nexon echter niet gerelateerd aan de shooter van Blizzard - het zouden om twee afzonderlijke projecten gaan.

De Starcraft-reeks bestaat uit real-time strategygames. De eerste verscheen in 1998, en een vervolg kwam in 2010 uit. Blizzard heeft al vaker geprobeerd shooters gebaseerd op de Starcraft-franchise te maken, maar die werden vooralsnog altijd geannuleerd.

Mogelijke onthulling op Blizzcon

Voor het eerst in enkele jaren organiseert Blizzard op 12 en 13 december de Amerikaanse beurs Blizzcon, waar alles rondom de uitgever wordt gevierd. Het is mogelijk dat één van de hierboven genoemde shooters daar wordt onthuld.

▼ Volgende artikel
Review: Mario Tennis Fever is een leuke set
Huis

Review: Mario Tennis Fever is een leuke set

Je vraagt je bij elke Mario-sportgame toch weer af: bereikt het de highs van die oeroude Game Boy-games van Camelot, zoals Mario Tennis en Mario Golf)? Het antwoord is, wat mij betreft, steevast  ‘nee’. Maar tussen ‘perfect’ en ‘niet perfect’ zit nog altijd een breed spectrum aan kwaliteit. En Fever? Die nestelt zich moeiteloos aan de betere kant van dat spectrum.

De drie toernooien die deze game rijk is, daar ben je een uurtje zoet mee. Waarschijnlijk zonder een set te verliezen. De Adventure Mode? Een paar uurtjes meer dan dat, en hoewel ook die nergens uitdagend wordt vertelt het wel een vermakelijk verhaal over Mario en Luigi die als baby’s hun tennis-skills moeten oppoetsen vanwege… bijzondere redenen.

Er zijn ook drie Challenge Towers met allerlei unieke uitdagingen die eventjes vermaken. In mix-up vinden we tennis, maar dan met regels en omstandigheden die alleen het Mushroom Kingdom kan bieden, en dat was het wel zo’n beetje. Wie Mario Tennis Fever alleen speelt is een weekend zoet en heeft zich prima vermaakt. Maar sportgames zijn er, natuurlijk, om je competitieve aard los te laten op vrienden, familie, kroost of online uitdagers.

Leuk

Daarom wil ik het ook niet al te uitgebreid over die singleplayermodi hebben. Ja, Nintendo heeft z’n best gedaan. Ja, er is weinig aan te merken op de minigames en kleine tussenscènes die de Tennis Academy te bieden heeft en de ontwikkelaars verdienen het dat het hier even aangestipt wordt. Nooit sla je stijl achterover van briljante ideeën of concepten, en er wordt geen druppeltje zweet gemorst van de spanning. Maar ‘leuk’ is eigenlijk een perfect, allesomvattend begrip om deze kant van de game te omschrijven.

De echte graadmeter echter, is de kern van de gameplay. Hoe speelt het? Hoe diep gaat het? Hoeveel personages, gekke rackets en super-power-mega-skillmoves zijn er in dit pakketje gepropt en hoe verhouden die zich tot elkaar? Na mening middag ballen overslaan of in dubbelspel terugslaan met mijn zoontje van 9, zijn we eruit: Mario Tennis Fever heeft ontzettend lekkere gameplay.

Content is king

Content is in de eerste instantie de name of the game. Er zitten bijna veertig personages in de game, meer dan een dozijn verschillende banen en de hoofdattractie is de aanwezigheid van tientallen Fever-rackets, die elk hun eigen unieke skill met zich meebrengen. De bananentros die Donkey Kong een ‘racket’ noemt strooit bananen over de baan, met het vulkaanracket plopt er een (je raadt het nooit) vulkaan op uit de baan en het Thwomb-racket zorgt ervoor dat het iconische stenen blok uit de Mario-serie plots uit de lucht valt – hopelijk op een tegenstander. Een zogeheten Fever-shot is verder ook geen hogere wiskunde. Om de zoveel tijd is je metertje vol en ram je dat ding over de baan heen.

Extra fijn is dat het gros van dit alles vrij te spelen is waar je maar wil. Laat je de singleplayermodi links liggen en speel je gewoon wat potjes tegen elkaar? Geen probleem, om de zoveel potten krijg je een nieuw racket, personage, of kleurtjes voor je favoriete tennissers.  

Watch on YouTube

Plak er een voldoende op

Enfin, tot zover de uitleg en alles wat hier te vinden is. Leuk spelletje, plak er een voldoende op en klaar, toch? Nou nee, want hoewel alles hierboven zijn eigen rol speelt, zijn het de diepere lagen daaronder die Mario Tennis  Fever tot grotere hoogten dan ‘plak er even een voldoende op’ stuwen. Al die personages? Die beschikken over hun eigen stats en eigenaardigheden. Wario laadt z’n powershots razendsnel op, Bowser Jr. legt veel meer precisie in z’n topspincurve dan anderen en Shy Guy slaat zijn topspins zonder gehinderd te worden door zijn positie op de baan.

En die banen? Die hebben elk hun eigen ondergrond, waar ballen anders op stuiteren en doorschieten, terwijl spelers zelf ook sneller of minder snel zijn, gebaseerd op het gras of het hardcourt waar ze op spelen. Die Fever-rackets? Oprecht allemaal een andere smaak. Ook daar merk dat extra stukje diepgang waar een wat luiere Mario-sportgame niet aan zou denken: wanneer je een Fever-shot terugslaat vóórdat op jouw zijde van het net landt, kun je met een stuit op de helft van de tegenstander zomaar eens het bijbehorende effect teruggeven. Prettig vervelend als je denkt die koter een modderplas op zijn helft te bezorgen, om ‘m vervolgens zelf om je oren te krijgen als hij de bal vakkundig over je heen lobt en ‘ie alsnog op jouw achterveld terecht komt. Een (modder)koekje van eigen deeg noemen ze dat geloof ik.

Mario Tennis Fever

Slide
Slide
Slide
Slide

Geen Lego, wel Duplo

Al die extra aandachtspuntjes en omstandigheden zijn ook nog eens gebouwd op een fundering van onkreukbare basisgameplay. Topspins, slices, curveballen, lobs en powershots: alles wat je van een tennisgame mag verwachten zit erin. De grote maar is alleen: het gebeurt allemaal zonder de nuance van een échte topgame. Vergelijk het een beetje met Lego en Duplo. Zelfde principe, zelfde soort blokken, maar iets vets bouwen met Lego hit net even anders dan iets vets bouwen met die grote Duplo-blokken. Zo verhoudt deze game zich ook tot de toppers uit het tennisgenre, zoals Virtua Tennis en Topspin. Is veelgevraagd, ik weet het, maar het is wel het verschil tussen goed of geweldig. En Mario Tennis Fever eindigt in het eerste kamp.

Is mijn zoontje naar school, dan heb ik namelijk geen enkele reden om Mario Tennis Fever verder te spelen. Zoals gezegd is al die singleplayercontent niet meer dan ‘even leuk’. En computergestuurde tegenstanders geven zelfs op het hoogste niveau nooit écht tegengas. Bovendien zijn de personages net te groot voor deze banen om het volgende niveau van verfijning te bereiken. Top, zo’n lob. Maar vanwege de dus relatief kleine banen blijft het geen zekerheidje dat je iemand ermee verschalkt die tegen het net aan staat. Aanzienlijke kans dat ie gewoon op tijd de achterlijn haalt, als ie ook maar een klein beetje inzicht heeft. Het zorgt ervoor dat Mario Tennis Fever een absoluut geslaagde game is, met heerlijke multiplayer. Maar wie de eindeloze diepgang en speeluren van, bijvoorbeeld, een Mario Kart World hier zoekt, staat sneller dan gewenst buitenspel. Oh wacht, verkeerd sport…

Mario Tennis Fever is vanaf 11 februari beschikbaar voor Nintendo Switch 2.

Goed
Conclusie

Mario Tennis Fever barst van de content. De vele personages, banen en rackets geven unieke, diepere lagen aan de gameplay en multiplayerpotjes gaan met grote glimlach en een berg vertier gespeeld worden. Jammer voor de wat volwassenere spelers dat die volgende laag diepgang nét niet geraakt wordt. Daarvoor is het singleplayeraanbod niet genoeg, de tegenstanders niet uitdagend genoeg en ontbreekt er hier en daar net wat finesse. Maar ga zo door, Nintendo. Mario Tennis Fever zit namelijk wél in de richting van die tijdloze Camelot-klassiekers waar we zo naar hunkeren.

Plus- en minpunten
  • Flinke hoeveelheid content en modi
  • Sterke basisgameplay
  • Uiteenlopende Fever-rackets
  • Nog altijd sterke multiplayer
  • Daagt je nooit écht uit
  • Diepgang niet eindeloos