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
HBO’s Harry Potter-serie verschijnt begin 2027
Huis

HBO’s Harry Potter-serie verschijnt begin 2027

De langverwachte HBO Max-serie gebaseerd op de Harry Potter-boeken zal ergens in het begin van 2027 uitkomen.

De langverwachte HBO Max-serie gebaseerd op de Harry Potter-boeken zal ergens in het begin Dat heeft HBO-baas Casey Bloys laten weten aan Deadline. Het was al bekend dat de serie ergens in 2027 uit zou komen op de streamingdienst, maar nu is dus duidelijk dat dit ergens begin volgend jaar wordt. Een specifiekere datum is er vooralsnog niet.

Over de Harry Potter-serie

Net zoals dat de filmreeks de Harry Potter-boeken verfilmde, zal de nieuwe HBO-serie dat ook doen. Elk seizoen moet daarbij de gebeurtenissen uit een boek behandelen. Er zouden bij succes dus zeven seizoenen kunnen verschijnen.

De opnames zijn al een aantal maanden bezig in het Verenigd Koninkrijk. Vorig jaar werden al diverse acteurs die de rollen op zich nemen onthuld. Zo zullen Dominic McLaughlin en Nick Frost (Hot Fuzz) te zien zijn als respectievelijk Harry Potter en Hagrid. Daarnaast zullen Arabella Stanton de rol van Hermione Granger (Hermelien Griffel) en Alastair Stout de rol van Ron Weasley (Ron Wemel) vertolken.

De showrunner van de serie is Francesca Gardiner, die eerder al aan The Man in the High Castle en His Dark Materials werkte. Eerder liet Gardiner weten dat het de bedoeling is dat ze haar eigen draai aan het verhaal geeft. Ook de geprezen regisseur Mark Mylod – bekend van Succession en The Last of Us – werkt aan de serie.

Nieuw op ID: het complete plaatje

Misschien valt het je op dat er vanaf nu ook berichten over games, films en series op onze site verschijnen. Dat is een bewuste stap. Wij geloven dat technologie niet stopt bij hardware; het gaat uiteindelijk om wat je ermee beleeft. Daarom combineren we onze expertise in tech nu met het laatste nieuws over entertainment. Dat doen we met de gezichten die mensen kennen van Power Unlimited, dé experts op het gebied van gaming en streaming. Zo helpen we je niet alleen aan de beste tv, smartphone of laptop, maar vertellen we je ook direct wat je erop moet kijken of spelen. Je vindt hier dus voortaan de ideale mix van hardware én content.

▼ Volgende artikel
Nieuwe Firefox-versie laat je alle AI-functies met één knop blokkeren
© Mozilla
Huis

Nieuwe Firefox-versie laat je alle AI-functies met één knop blokkeren

Mozilla brengt eind februari een update uit voor Firefox waarmee gebruikers meer grip krijgen op kunstmatige intelligentie in de browser. In de nieuwe versie van de desktopbrowser komt een speciaal menu waarin alle AI-functies centraal kunnen worden beheerd of volledig kunnen worden geblokkeerd.

Vanaf versie 148, die op 24 februari verschijnt, is het gedeelte 'AI-instellingen' terug te vinden in de browseropties. De belangrijkste toevoeging is een hoofdschakelaar waarmee alle huidige en toekomstige AI-toepassingen in één keer worden stopgezet. Wanneer deze functie is geactiveerd, krijgt de gebruiker geen meldingen of suggesties meer om AI-hulpjes te gebruiken. Mozilla geeft aan dat deze voorkeuren ook na updates bewaard blijven, zodat instellingen niet ongevraagd worden teruggezet naar de standaardwaarden.

Voor wie AI niet volledig wil bannen, biedt het menu ook de mogelijkheid om specifieke functies los van elkaar aan of uit te zetten. Het gaat hierbij onder meer om de automatische vertaalfunctie en een hulpmiddel dat beschrijvingen toevoegt aan afbeeldingen in pdf-bestanden voor een betere toegankelijkheid. Ook functies die tabbladen automatisch groeperen op basis van onderwerp of een samenvatting tonen voordat een link wordt aangeklikt, vallen onder deze nieuwe knoppen.

©Mozilla

Daarnaast biedt Firefox ruimte voor externe chatbots in de zijbalk van de desktopbrowser. Gebruikers kunnen daar zelf kiezen welke assistent zij willen gebruiken, waarbij diensten als ChatGPT, Google Gemini, Microsoft Copilot en Anthropic Claude worden ondersteund. Met deze centrale instellingen bepaal je zelf wanneer je een chatbot ziet, zodat deze niet ongevraagd je scherm vult.

De nieuwe AI-controles worden op 24 februari uitgerold naar alle Firefox-gebruikers op de desktop. Wie niet zo lang wil wachten, kan de functies al uitproberen in Firefox Nightly.

Wat is Firefox Nightly?

Firefox Nightly is een testversie van de browser die dagelijks wordt bijgewerkt met de allernieuwste programmeercode. Ontwikkelaars gebruiken deze versie om nieuwe functies uit te proberen en fouten op te sporen voordat een stabiele update naar de gewone gebruiker gaat. Omdat de software nog volop in ontwikkeling is, kan Nightly minder stabiel zijn dan de standaardversie van Firefox.