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
Wat is local dimming en waarom is het belangrijk?
© ER | ID.nl
Huis

Wat is local dimming en waarom is het belangrijk?

Het gebrek aan een rijk contrast is een van de grootste ergernissen bij lcd- en ledtelevisies. Fabrikanten hebben daarom een slimme techniek bedacht die het contrast aanzienlijk verbetert: local dimming. In dit artikel leggen we uit hoe deze techniek van jouw grijze nachtlucht weer een inktzwarte sterrenhemel maakt.

Het contrast van je televisie is misschien wel de belangrijkste eigenschap voor mooi beeld. We willen dat wit verblindend wit is en zwart echt inktzwart. Bij oledtelevisies is dat makkelijk, want daar geeft elke pixel zelf licht. Maar de meeste televisies in de Nederlandse huiskamers zijn nog steeds lcd- of ledschermen (inclusief QLED). Die werken met een lamp achter het scherm, de zogeheten backlight. Local dimming is de techniek die probeert de nadelen van die achtergrondverlichting op te lossen.

Om te begrijpen waarom local dimming nodig is, moet je eerst weten hoe een standaard led-tv werkt. Simpel gezegd is het een groot paneel met pixels die zelf geen licht geven, maar alleen van kleur veranderen. Achter die pixels brandt een grote lichtbak. Als het beeld zwart moet zijn, sluiten de pixels zich om het licht tegen te houden. Helaas lukt dat nooit voor de volle honderd procent; er lekt altijd wat licht langs de randjes. Hierdoor zien donkere scènes er vaak wat flets en grijzig uit. De achtergrondverlichting staat immers vol aan, ook als het beeld donker moet zijn.

Nooit meer te veel betalen? Check Kieskeurig.nl/prijsdalers!

De lampen dimmen waar het donker is

Local dimming pakt dit probleem bij de bron aan. In plaats van één grote lichtbak die altijd aan staat, verdeelt deze techniek de achtergrondverlichting in honderden (en bij duurdere tv's soms duizenden) kleine zones. De televisie analyseert de beelden die je kijkt continu. Ziet de processor dat er linksboven in beeld een donkere schaduw is, terwijl rechtsonder een felle explosie te zien is? Dan worden de lampjes in de zone linksboven gedimd of zelfs helemaal uitgeschakeld, terwijl de lampjes rechtsonder juist fel gaan branden.

Het resultaat is direct zichtbaar. Zwart wordt weer echt zwart, simpelweg omdat er geen licht meer achter dat deel van het scherm brandt. Tegelijkertijd blijven de lichte delen van het scherm helder. Dat zorgt voor een veel groter contrast en geeft het beeld meer diepte. Vooral bij het kijken van HDR-films en -series is dat van belang. Zonder local dimming kan een led-tv eigenlijk geen goed HDR-beeld weergeven, omdat het verschil tussen licht en donker dan te klein blijft.

©ER | ID.nl

Niet alle local dimming is hetzelfde

Het klinkt als een wonderoplossing, maar de uitvoering verschilt enorm per televisie. Het grote toverwoord hierbij is het aantal zones. Hoe meer zones de tv onafhankelijk van elkaar kan aansturen, hoe preciezer het licht kan worden geregeld. Goedkopere televisies gebruiken vaak edge lit local dimming. Hierbij zitten de lampjes alleen in de rand van de tv. Dat werkt redelijk, maar is niet heel nauwkeurig. Je ziet dan soms dat een hele verticale strook van het beeld lichter wordt, terwijl er eigenlijk maar één klein object moest worden verlicht.

De betere variant heet full array local dimming. Hierbij zitten de lampjes over de hele achterkant van het scherm verspreid. De allernieuwste en beste vorm hiervan is miniLED. Daarbij zijn de lampjes zo klein geworden dat er duizenden in een scherm passen, wat de precisie van oled begint te benaderen. Als er te weinig zones zijn, kun je last krijgen van zogenaamde 'blooming'. Dat zie je bijvoorbeeld bij witte ondertiteling op een zwarte achtergrond: er ontstaat dan een soort wazige lichtwolk rondom de letters, omdat de zone groter is dan de tekst zelf.

Welke merken gebruiken local dimming?

Bijna elke grote televisiefabrikant past deze techniek inmiddels toe, maar ze doen dat voornamelijk in hun middenklasse en topmodellen. Samsung is een van de voorlopers, zeker met hun QLED- en Neo QLED-televisies, waarbij ze in de duurdere series gebruikmaken van geavanceerde miniLED-techniek voor zeer precieze dimming. Ook Sony staat bekend om een uitstekende implementatie van full array local dimming, die vaak geprezen wordt om de natuurlijke weergave zonder overdreven effecten. Philips past het eveneens toe in hun (mini)ledmodellen, vaak in combinatie met hun bekende Ambilight-systeem voor een extra contrastrijk effect.

Ga voor de full monty!

Local dimming is dus geen loze marketingkreet, maar een dankbare techniek voor iedereen die graag films of series kijkt op een led- of QLED-televisie. Het maakt het verschil tussen een flets, grijs plaatje en een beeld dat van het scherm spat met diepe zwartwaarden. Ben je in de markt voor een nieuwe tv? Vraag dan niet alleen óf er local dimming op zit, maar vooral of het gaat om full array dimming. Je ogen zullen je dankbaar zijn tijdens de volgende filmavond!

Vijf fijne televisies die full array local dimming ondersteunen

▼ Volgende artikel
Waar voor je geld: 5 robotstofzuigers voor een extra schone vloer
© ID.nl
Huis

Waar voor je geld: 5 robotstofzuigers voor een extra schone vloer

Bij ID.nl zijn we gek op producten waar je niet de hoofdprijs voor betaalt of die zijn voorzien van bijzondere eigenschappen. Met een robotstofzuiger wordt de vloer schoongehouden, terwijl je er niet bij hoeft te zijn. En stofzuigen is dan wel het minste dat ze kunnen, want ook dweilen is voor veel modellen geen proleem. We vonden vijf geavanceerde exemplaren.

Philips HomeRun 7000 Series XU7100/01

De Philips HomeRun 7000 Series XU7100/01 is ontworpen om grote ruimtes aan te kunnen. Het apparaat heeft een stofzak van 3 liter en een werktijd tot 180 minuten in de laagste stand. In tegenstelling tot veel kleinere robots is deze HomeRun uitgerust met een stille motor; de opgave van 66 dB maakt hem relatief stil.

Er zit een dweilfunctie in zodat je de robot na het stofzuigen ook direct kunt laten dweilen. Via de app kies je voor een van de modi of plan je een schoonmaakprogramma in. De robot kan zichzelf navigeren, obstakels omzeilen en keert na gebruik terug naar het laadstation. Omdat de opvangbak groot is hoef je niet vaak te legen en dankzij de Li‑ion‑accu is hij geschikt voor grotere woningen. Het apparaat is van recente datum en daarom nog volop verkrijgbaar.

Dreame L10s Pro Ultra Heat

Deze robot combineert een groot stofreservoir van 3,2 liter met een lange werktijd van ongeveer 220 minuten. Dankzij de geïntegreerde dweilfunctie verwijdert hij niet alleen stof maar kan hij ook nat reinigen. De L10s Pro Ultra Heat gebruikt een zak in het basisstation, waardoor je het reservoir minder vaak hoeft te legen.

De Dreame is voorzien van een Li‑ion‑batterij aanwezig en de robot keert automatisch terug naar het station voor opladen en legen. De sensortechnologie helpt bij het vermijden van obstakels en het nauwkeurig schoonmaken van zowel harde vloeren als tapijt. Dankzij de meegeleverde app stuur je de schoonmaak aan, stel je no‑go‑zones in of plan je een dweilrondje.

Philips HomeRun 3000 Series Aqua XU3100/01

Deze Philips‑robot is bedoeld voor wie minder vaak handmatig wil schoonmaken. Hij beschikt over een gecombineerde stofzuig‑ en dweilfunctie en kan zichzelf legen via het automatische station. Met een gebruiksduur tot 200 minuten in de laagste stand en een geluidsniveau van 66 dB kan hij urenlang zijn werk doen zonder al te veel herrie. De stofcontainer van 35 cl is kleiner dan bij de HomeRun 7000, maar door het automatische leegmechanisme is dat geen probleem.

Je bedient het apparaat via de app en kunt daar zowel een schema programmeren als zones instellen. De Aqua XU3100/01 is een model uit de recente 3000‑serie en doordat hij een mop‑pad heeft kan hij zowel droog als nat reinigen, wat handig is voor harde vloeren zoals tegels en laminaat.

iRobot Roomba Combo j9+

De Roomba Combo j9+ is een model dat je vloeren zowel kan stofzuigen als dweilen. De Combo j9 beschikt over een opvangbak van 31 cl en hij kan zelf zijn inhoud legen in het automatische basisstation dat bij de set hoort. De Li‑ion‑accu zorgt voor een lange gebruiksduur en de robot maakt een routeplanning zodat elke ruimte efficiënt wordt schoongemaakt.

Via de app kun je zones instellen waar de robot niet mag komen en het dweilelement in‑ of uitschakelen. In de basis maakt de Combo j9+ zelfstandig een kaart van je woning en keert terug naar het station wanneer de accu moet opladen of de stofcontainer vol is. De robot is bedoeld voor huishoudens die gemak belangrijk vinden en biedt naast stofzuigen ook een dweilfunctie voor hardere vloeren.

MOVA Tech P50 Ultra

De MOVA Tech P50 Ultra is een forse robotstofzuiger met een basisstation. Het apparaat heeft een stofreservoir van 30 cl en wordt geleverd met een basisstation waarin je het stof eenvoudig kunt verwijderen. De robot produceert een geluidsniveau van 74 dB, iets hoger dan de Philips‑modellen, en weegt inclusief station ruim 13 kg.

Hij kan uiteraard ook automatisch terugkeren naar het station om op te laden of te legen. In de specificaties staat dat de MOVA is voorzien van een Li‑ion‑batterij en dat hij zowel kan stofzuigen als dweilen. De meegeleverde app maakt het mogelijk om routes in te stellen en zones te blokkeren. Met een vermogen van 700 W is hij krachtig genoeg voor tapijten en harde vloeren. Het is geschikt voor mensen die een uitgebreid station met automatische functies willen.