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
Wanneer is een tv écht te groot voor je woonkamer?
Huis

Wanneer is een tv écht te groot voor je woonkamer?

Iedereen droomt weleens van een thuisbioscoop, maar groter is niet altijd beter. Een te groot scherm kan bijvoorbeeld zorgen voor vermoeide ogen of korrelig beeld. Ontdek hoe zaken als kijkafstand, de resolutie en de kijkhoek bepalen of een televisie daadwerkelijk in je woonkamer past.

In de felverlichte showroom van de elektronicawinkel lijkt die enorme 75-inch televisie waanzinnig indrukwekkend, maar eenmaal aan de muur in een doorsnee Nederlandse doorzonwoning kan zo'n gapend zwart vlak de ruimte volledig domineren. Veel consumenten denken onterecht dat een groter scherm automatisch garant staat voor een betere kijkervaring, ongeacht de afmetingen van de kamer. Toch is er een harde technische grens waarbij groot verandert in té groot, met hoofdpijn en onscherp beeld als direct gevolg. In dit artikel leer je precies hoe je die grens bepaalt en de ideale televisie kiest.

De kern van het probleem: resolutie en blikveld

Het probleem van een te grote tv is niet alleen esthetisch, maar vooral fysiologisch en technisch. Het draait allemaal om de verhouding tussen de resolutie (het aantal beeldpunten) en je blikveld. Zelfs bij moderne 4K-televisies zijn de pixels niet oneindig klein. Als je een enorm scherm neemt en daar te dicht op zit, trek je het beeld als het ware uit elkaar. Hierdoor verliest het beeld zijn scherpte en samenhang; je hersenen moeten harder werken om de losse informatie tot één geheel te smeden.

Een veelgehoorde misvatting is dat je simpelweg went aan elk formaat. Hoewel de eerste shock van een groot scherm inderdaad verdwijnt, blijft de fysieke belasting overeind. Als een scherm meer dan 40 graden van je horizontale blikveld inneemt, kun je niet meer het hele plaatje in één oogopslag zien. Je ogen moeten dan constant van links naar rechts scannen om de actie te volgen, vergelijkbaar met het kijken naar een tenniswedstrijd vanaf de eerste rij. Dat zorgt voor vermoeide ogen en kan op den duur zelfs leiden tot misselijkheid, ook wel 'cybersickness' genoemd.

©Gorodenkoff

Wanneer werkt een groot formaat wél goed?

Er zijn specifieke scenario's waarin een wandvullend scherm niet alleen kan, maar zelfs de voorkeur heeft. Dat geldt vooral als je de televisie primair gebruikt voor hoogwaardige content. Denk hierbij aan films op 4K Blu-ray of streamingdiensten die uitzenden in de hoogste bitrate, en uiteraard gaming op moderne consoles. In deze gevallen is de bronkwaliteit zo hoog dat je dichterbij kunt zitten zonder fouten in het beeld te zien.

Daarnaast werkt een groot formaat goed als de kijkafstand het toelaat. In moderne woningen met een open plattegrond of een loft-indeling staat de bank vaak wat verder van de muur. Als je kijkafstand meer dan 3 meter is, valt een 55-inch televisie al snel in het niet en moet je turen om details te zien. Een 65-inch of groter model herstelt in dat geval de balans en zorgt voor die gewenste bioscoopervaring, waarbij het scherm groot genoeg is om je onder te dompelen zonder dat je individuele pixels ziet.

Wanneer werkt dit níet goed?

De nadelen van een te grote tv worden pijnlijk duidelijk bij 'gewoon' tv-kijken. Veel lineaire televisieprogramma's, zoals het journaal, talkshows of sportuitzendingen via de kabel, worden niet in 4K uitgezonden, maar in Full HD of zelfs nog lager. Een enorme tv vergroot dat signaal genadeloos uit. Op een te groot scherm zie je dan plotseling ruis, compressieblokjes en onscherpe randen die op een kleiner scherm onzichtbaar zouden blijven. Het beeld oogt daardoor onrustig en rommelig.

Ook in de fysieke ruimte kan het tegenvallen. Een tv die uit staat is een groot, zwart en reflecterend vlak. In een compacte woonkamer zuigt een te groot scherm alle aandacht naar zich toe, zelfs als hij uitstaat. Zoiets verstoort de balans in je interieur en kan de kamer kleiner laten aanvoelen dan hij eigenlijk is. Daarnaast is de plaatsing van sfeerverlichting vaak lastiger; een gigantisch scherm blokkeert lichtinval of reflecteert lampen op een storende manier.

©RDVector

Als je té dicht op je televisie zit, kun je de kleurenleds van elkaar onderscheiden.

Dealbreakers: hier ligt de grens

Er zijn een paar harde grenzen die aangeven dat je beter een maatje kleiner kunt kiezen. Als je een van de onderstaande punten herkent, is dat een duidelijk signaal.

Je moet je hoofd fysiek draaien

Als je tijdens het kijken naar een film ondertiteling leest en daardoor de actie boven in het scherm mist, of als je je nek daadwerkelijk moet draaien om van de linker- naar de rechterhoek te kijken, is het scherm te groot voor je kijkafstand. Je verliest het overzicht.

De tv past fysiek niet op het meubel

Dit klinkt misschien logisch, maar wordt vaak genegeerd. Als de pootjes van de tv net aan op de rand van je tv-meubel balanceren, of als het scherm breder is dan het meubel zelf, oogt dat niet alleen goedkoop, het is ook onveilig. Een scherm dat buiten de kaders van het meubel steekt, is enorm kwetsbaar voor (om)stoten.

Je ziet pixels of rastervorming

Ga op je favoriete plek op de bank zitten. Zie je bij normaal HD-beeld een soort hordeur-effect of individuele blokjes? Dan zit je te dichtbij voor dat specifieke formaat. Dat is geen kwestie van wennen; het is een mismatch tussen resolutie, inch-maat en kijkafstand.

Wat betekent dit voor jouw situatie?

Om te bepalen of een tv past, moet je de rolmaat erbij pakken en even kritisch naar je eigen kijkgedrag kijken. De algemene vuistregel voor 4K-televisies is: meet de afstand van je ogen tot het scherm in centimeters en deel dat door 1,2 tot 1,5. De uitkomst is de ideale schermdiagonaal.

Zit je bijvoorbeeld op 2,5 meter (250 cm) van je scherm? Dan kom je uit op een schermdiagonaal tussen de 166 cm (65 inch) en 208 cm (82 inch). Maar let op: dat geldt alleen voor pure 4K-content. Kijk je veel normale televisie (praatprogramma's, nieuws)? Hanteer dan factor 2. Bij 250 cm afstand kijkt een scherm van 125 cm diagonaal (ongeveer 50 inch) dan vaak prettiger en rustiger. Ben je een fanatieke gamer of filmfanaat? Dan kun je de grens opzoeken. Ben je een casual kijker? Kies dan veilig voor een formaatje kleiner.

©BS | ID.nl

In het kort

Een televisie is te groot wanneer het beeld onscherp oogt of wanneer je fysiek je hoofd moet draaien om alles te kunnen volgen. Hoewel een groot scherm indrukwekkend lijkt, vergroot het bij standaard televisie-uitzendingen ook alle beeldfouten uit. De ideale grootte is een balans tussen kijkafstand en de kwaliteit van wat je kijkt. Meet daarom altijd de afstand tussen bank en muur, en wees realistisch over je kijkgedrag. Zo voorkom je hoofdpijn en blijft tv-kijken ontspannend.

▼ Volgende artikel
Microsofts Xbox Developer Direct heeft de code gekraakt
Huis

Microsofts Xbox Developer Direct heeft de code gekraakt

Het is ergens in 2025 als Fable voor het eerst, een soort van, getoond wordt. Beelden volgen elkaar in rap tempo op. We zien de dame die de hoofdrol lijkt te spelen, geen HUD en vooral heel veel mooie filmpjes. Daarna begint het wild speculeren, de klachten over het hoofdpersonage, de vraagtekens over de gameplay. Gelukkig was daar gister de Xbox Developer Direct, waar Microsoft eens te meer bewees de code gekraakt te hebben.

Vóór de pandemie, toen de Electronic Entertainment Expo (E3) nog bestond en online showcases, Directs en State of Plays nog niet echt een ding waren, wisten gameboeren hun spellen prima te verkopen. Ontwikkelaars verschenen op het podium tijdens liveshows, praatten over hun games, speelden live een demo (wat net zo vaak goed als faliekant misging) en dergelijke presentaties werden afgewisseld met teasers, hypetrailers en (nog verder terug) zelfs weleens grafieken en verkoopcijfers. Hoe anders is de wereld anno nu.

Watch on YouTube

Trailers vol trailers

Klaar zitten voor The Game Awards, een gemiddelde Direct, Showcase of Summer Game Fest is leuk, maar niet hetzelfde als ‘toen’. Want de formule is inmiddels bekend. Een half uur, een uurtje, een paar uur lang wordt er de ene na de andere trailer op je hersenen afgevuurd. Wat is ‘reclame’ en wat niet? Geen idee. Standaard zijn de animegames die elkaar zo rap opvolgen dat de gemiddelde kijker niet eens meer weet waar de ene game begint en de ander ophoudt. Meestal zit er een klapper aan het begin, waarna het grote wachten op de klapper aan het einde begint.

Vraag iemand een week later wat ie gezien heeft, en meer dan de helft van de getoonde games is waarschijnlijk uit het geheugen verdwenen.  En al die flarden van beelden zonder fatsoenlijke uitleg leiden vaker wel dan niet tot hetzelfde als die ene soort van trailer van Fable: speculaties, wild geroep en vraagtekens. Het komt de online discussie rondom games niet ten goede.

©Playground Games

Hoe anders was de inmiddels traditionele Xbox Developer Direct. Langer dan een uur, voor maar vier games. Die games kregen zodoende alle tijd, net als de ontwikkelaars. Gameplaybeelden zijn niet aan te slepen, verscheidene modi worden uitgebreid besproken en zelfs de kleinste details krijgen meer dan genoeg ademruimte. Zo horen we tijdens de Forza Horizon 6-presentatie dat het nummer van je eigen hangar (78) gekozen is omdat de game zich afspeelt in Japan, en die cijfers daar een positieve lading hebben. Fijn om te horen hoe scherp het oog voor detail van een ontwikkelaar is. Dat zegt iets over het project. En het is ook iets wat je never nooit in een hypetrailer van anderhalve minuut langs had zien komen.

Trailers vol trailers

En dus zit ik gisteravond te genieten. Niet eens per se van de games, want ze vallen net niet in mijn straatje. Forza Horizon 6 vind ik héél indrukwekkend en de game zal ongetwijfeld miljoenen spelers perfect bedienen, maar ik ben niet zo van het racen. Game Freak - de makers van Pokémon die eindelijk hun vleugels uitslaan met graphics uit dit decennium - komen met Beast of Reincarnation. Het ziet er oké uit. Double Fine vindt in mij ook geen fan en een multiplayer-pottenbakgame (Kiln) is niet iets wat hoog op mijn lijstje stond. Zelfs afsluiter Fable wist me met z’n levenssimulaties ook niet te overtuigen. Maar, nogmaals, wat heb ik genoten. Van ontwikkelaars die ruim de tijd kregen. Van de games, die van alle kanten belicht werden. Van de antwoorden die we kregen.

©Playground Games

Want wat ik nou precies van die games vond, is niet eens zo heel belangrijk. Veel belangrijker is dat iedereen dit keer in ieder geval een uitgebreid beeld kreeg van wat deze games nu precies worden. Een Xbox Developer Direct creëert geen valse hype. Van die vier getoonde games, weten we nu eigenlijk alles wat we redelijkerwijs moeten weten. Zoals bijvoorbeeld dat Fable een character creation-modus heeft, om maar iets te noemen. En plots zie je de discussies rondom de games gaan om… de inhoud. En niet op wilde speculaties rondom hoofdpersonages die helemaal niet vast blijken te staan. Love it.