Definitie: Een cross-platform app is een mobiele app die vanuit één gedeelde codebase wordt gebouwd en daarna op meerdere besturingssystemen draait, meestal iOS en Android. De app wordt net als een native app via de App Store en Google Play verspreid, maar hoeft niet twee keer apart te worden ontwikkeld.
In het kort
- Bij cross-platform ontwikkeling schrijf je de app één keer en publiceer je hem voor iOS en Android.
- Bekende frameworks zijn Flutter van Google, React Native van Meta (voorheen Facebook) en .NET MAUI van Microsoft.
- Voordelen zijn een kortere ontwikkeltijd, lagere bouw- en onderhoudskosten en één team; nadelen zijn mogelijke prestatiegrenzen en minder directe toegang tot nieuwe functies van het toestel.
- Volgens Brixxs kost een bedrijfsapp gemiddeld tussen de 1.000 en 30.000 euro, afhankelijk van omvang en functies.
Wat is een cross-platform app?
Een smartphone draait vrijwel altijd op Android of iOS. Volgens AppMaster hebben die twee samen ruim 99 procent van de wereldwijde markt voor mobiele besturingssystemen, met ongeveer 73 procent voor Android en 26 procent voor iOS. Wie een app wil die iedereen kan installeren, moet dus op beide platformen aanwezig zijn.
De klassieke route is twee aparte apps bouwen: een iOS-app in Swift en een Android-app in Kotlin of Java. Dat heet native ontwikkeling. Je hebt dan twee codebases, vaak twee ontwikkelaars of teams, en elke wijziging moet twee keer worden doorgevoerd en getest.
Een cross-platform app pakt dat anders aan. De ontwikkelaar schrijft de logica en de schermen één keer in een framework, en dat framework zorgt ervoor dat de app op beide besturingssystemen werkt. Het resultaat is een echte app die gebruikers downloaden uit de App Store of Google Play, en die toegang heeft tot onderdelen van het toestel zoals camera, locatie en pushmeldingen.
Het begrip wordt soms ook breder gebruikt voor software die op Windows, macOS en Linux draait. In de context van apps laten maken gaat het bijna altijd om mobiel: één app voor iPhone en Android.
Hoe werkt cross-platform ontwikkeling?
Er zijn grofweg twee technieken:
- Eigen weergave. Het framework tekent alle schermonderdelen zelf. Flutter werkt zo: de app ziet er op iOS en Android vrijwel gelijk uit, omdat Flutter elk knopje en elke lijst zelf rendert.
- Vertalen naar native onderdelen. Het framework gebruikt de standaard bouwstenen van het besturingssysteem. React Native werkt grotendeels zo: je schrijft JavaScript, en op het toestel verschijnen echte iOS- en Android-onderdelen.
In beide gevallen deelt de app het grootste deel van de code. Voor specifieke toestelfuncties of uitzonderingen per platform kan de ontwikkelaar nog steeds een stukje platformcode toevoegen. Daarna wordt de app gebouwd tot twee installatiebestanden, één voor elke winkel, die elk door de keuring van Apple of Google gaan.
Welke frameworks zijn er?
| Framework | Maker | Taal | Kenmerk |
|---|---|---|---|
| Flutter | Dart | Tekent eigen interface, consistent ontwerp op alle platformen | |
| React Native | Meta (Facebook) | JavaScript, React | Gebruikt native onderdelen, groot ecosysteem van webontwikkelaars |
| .NET MAUI | Microsoft | C# | Opvolger van Xamarin, past bij bedrijven die al in .NET werken |
| Ionic | Ionic | HTML, CSS, JavaScript | Webtechniek in een app-schil, ligt dicht bij een hybride app |
| Apache Cordova | Apache | HTML, CSS, JavaScript | Oudere techniek, de app draait in een WebView |
Innowise rekent Flutter, React Native en .NET MAUI tot de echte cross-platform frameworks, en Ionic en Cordova tot de hybride aanpak. Het verschil zit in hoe dicht de app bij het besturingssysteem komt. Bij een hybride app draait in feite een website binnen een app-schil; bij Flutter en React Native wordt de interface native weergegeven of door het framework zelf getekend.
Cross-platform, native, hybride of PWA?
De zoekvraag “cross platform ontwikkeling” gaat vaak samen met de vraag welke route je moet kiezen. Een overzicht:
| Native | Cross-platform | Hybride | Progressive web app | |
|---|---|---|---|---|
| Codebase | Twee aparte | Eén gedeelde | Eén, webtechniek | Eén, website |
| Verspreiding | App stores | App stores | App stores | Browser, geen download nodig |
| Prestaties | Hoogst | Goed, soms minder bij zware taken | Wisselend | Afhankelijk van browser |
| Toegang tot toestel | Volledig | Groot, soms via plugins | Via plugins | Beperkt, vooral op iOS |
| Bouw- en onderhoudskosten | Hoogst | Gemiddeld | Laag | Laagst |
De rangorde van kosten in deze tabel volgt de vergelijking van Innowise. Native levert de beste prestaties en ervaring, maar vraagt het meeste werk. Een PWA is goedkoop en direct bruikbaar, maar heeft minder toegang tot het toestel en hangt af van wat de browser ondersteunt. Cross-platform zit daartussen en is daardoor voor veel bedrijfsapps een logische middenweg.
Wat zijn de voordelen van een cross-platform app?
- Eén codebase. Functies, bugfixes en verbeteringen schrijf je één keer.
- Kortere ontwikkeltijd. De eerste versie staat sneller in beide winkels.
- Lagere kosten. Minder ontwikkeluren voor bouw en onderhoud.
- Eén team. Je hebt geen aparte iOS- en Android-specialisten nodig.
- Gelijke ervaring. Gebruikers op iPhone en Android krijgen dezelfde functies tegelijk.
- Groter bereik. Je bereikt beide groepen gebruikers zonder dubbele investering.
Wat zijn de nadelen?
- Prestaties bij zware taken. Bij intensieve grafische toepassingen, games of complexe animaties kan native sneller zijn.
- Nieuwe toestelfuncties komen later. Als Apple of Google een nieuwe functie uitbrengt, duurt het soms even voordat het framework die ondersteunt.
- Afhankelijkheid van het framework. Stopt de maker met ontwikkelen of verandert de koers, dan heeft dat gevolgen voor jouw app.
- Platformverschillen blijven bestaan. Gebruikers verwachten op iOS soms ander gedrag dan op Android. Dat vraagt aandacht in ontwerp en testen.
- Plugins van derden. Voor sommige toestelfuncties ben je afhankelijk van uitbreidingen die niet altijd even goed worden onderhouden.
Wanneer kies je voor een cross-platform app?
Cross-platform past goed als:
- je app beschikbaar moet zijn op iOS en Android;
- de app vooral formulieren, lijsten, overzichten, accounts en meldingen bevat;
- budget en doorlooptijd belangrijk zijn;
- één team de app moet kunnen onderhouden.
Kijk ook naar het team dat de app later onderhoudt. Werken jullie ontwikkelaars al met JavaScript en React, dan ligt React Native voor de hand. Is er kennis van C# en .NET, dan sluit .NET MAUI beter aan. Begin je zonder bestaande voorkeur, dan wordt Flutter vaak gekozen vanwege het consistente ontwerp.
Native ligt meer voor de hand bij apps waarin snelheid en diepe integratie met het toestel de kern zijn, zoals games, camera- of audiotoepassingen en apps die nieuwe functies van iOS direct willen gebruiken.
Er is ook een derde vraag die vaak te weinig wordt gesteld: heb je wel een app uit de winkel nodig? Voor veel interne tools en klantomgevingen volstaat een webapplicatie die goed werkt op telefoon, tablet en laptop. Die hoeft niet door een app-keuring, is direct bij te werken en draait in elke browser.
Wat kost een cross-platform app?
Volgens Brixxs kost een eigen bedrijfsapp gemiddeld tussen de 1.000 en 30.000 euro. Dat is een brede marktindicatie: een eenvoudige app met een paar schermen zit aan de onderkant, een app met accounts, koppelingen, betalingen en een eigen backend aan de bovenkant of erboven. Brixxs wijst er ook op dat onderhoud vaak wordt onderschat, bijvoorbeeld als een nieuwe versie van iOS aanpassingen vraagt.
Daarnaast zijn er vaste kosten voor publicatie. Apple rekent volgens Brixxs 99 dollar per jaar voor een ontwikkelaarsaccount; voor Google Play betaal je eenmalig 25 dollar. De frameworks zelf zijn open source en gratis te gebruiken, zoals ook AppMaster noemt. Vergeet verder de backend niet: de server, database en koppelingen waar de app zijn gegevens vandaan haalt, horen bij de totale kosten.
Hoe verloopt de ontwikkeling?
Innowise beschrijft vijf fasen die ook voor een cross-platform app gelden:
- Planning. Doel, gebruikers en functies van de eerste versie vastleggen.
- Ontwerp. Schermen en de route door de app uitwerken, met oog voor verschillen tussen iOS en Android.
- Ontwikkeling. De app bouwen in het gekozen framework, inclusief de backend en koppelingen.
- Testen. Op echte toestellen van beide platformen, met verschillende schermformaten en besturingssysteemversies.
- Uitrol en ondersteuning. Indienen bij de App Store en Google Play, en daarna onderhouden en bijwerken.
Veelgemaakte fouten
- Alleen op één platform testen. Een app die op een iPhone goed werkt, kan op een Android-toestel anders reageren.
- De backend vergeten. De app is vaak maar de voorkant; gegevens, rechten en koppelingen zitten op de server.
- Te veel functies in de eerste versie. Elke extra functie moet op twee platformen werken en door twee keuringen.
- Geen plan voor onderhoud. Nieuwe versies van iOS, Android en het framework vragen periodiek aanpassingen.
- Kiezen voor een app zonder de alternatieven te bekijken. Een webapplicatie of PWA kan voor dezelfde taak volstaan.
Wat betekent dit voor jouw project?
Bij een nieuw idee onderzoek ik eerst of een bestaand pakket, een koppeling of maatwerk het beste past. Bij een app komt daar een vraag bij: moet het echt een app uit de winkel zijn, of werkt een webapplicatie die op elke telefoon goed bruikbaar is net zo goed? Ik bouw vooral webapplicaties, en voor interne tools en klantomgevingen is dat vaak de eenvoudigste route.
Ik begin daarom bij de gebruiker. Wie gaat het gebruiken, en welke taak moet die persoon als eerste kunnen afronden? Als het antwoord pushmeldingen, offline werken of de camera van het toestel vraagt, dan is een app een serieuze optie. Anders begin ik liever klein, met een eerste versie die direct in de browser werkt.
Vraag? Stuur me voor wie het is, wat er nu gebeurt en wat de eerste versie moet oplossen. Dan bepalen we samen of een app, een webapplicatie of iets anders de logische eerste stap is. Lees ook wat er komt kijken bij een web applicatie maken.
Veelgestelde vragen over cross-platform apps
Wat is een cross-platform app?
Een cross-platform app is een mobiele app die vanuit één codebase wordt gebouwd en op zowel iOS als Android draait. De app wordt via de App Store en Google Play verspreid, net als een native app.
Wat is het verschil tussen een native en een cross-platform app?
Een native app wordt apart gebouwd voor elk besturingssysteem, in de eigen taal van dat platform. Een cross-platform app deelt één codebase voor beide platformen, wat tijd en kosten bespaart, maar soms iets minder prestaties of directe toegang tot nieuwe toestelfuncties biedt.
Welke frameworks worden gebruikt voor cross-platform ontwikkeling?
De bekendste zijn Flutter van Google, React Native van Meta en .NET MAUI van Microsoft. Ionic en Apache Cordova worden ook gebruikt, maar zitten dichter bij een hybride app op basis van webtechniek.
Verwante termen
Native app · Hybride app · Flutter · Progressive web app · Web-app · Webapplicatie
← Terug naar de kennisbank