Kort samengevat. Flutter en Kotlin Multiplatform zijn geen twee implementaties van hetzelfde idee. Flutter is de ene weddenschap: één renderengine, één UI, elk platform. KMP is een andere weddenschap: deel de logica, houd de native UI van elk platform — tenzij je er Compose Multiplatform bovenop zet, waarna het een weddenschap in de vorm van Flutter wordt, met een jonger ecosysteem. Welke de juiste is hangt veel meer af van de bestaande vaardigheden van je team en de UI-ambities van je product dan van welke benchmark dan ook. Wij bouwen in Flutter, en we vertellen je hieronder precies wanneer we je juist naar KMP zouden wijzen.
Wil je alleen het antwoord: spring naar het beslismodel.
Vergelijk je Flutter liever met React Native? Dat is een eigen stuk. Met volledig native Swift en Kotlin? Ook een eigen stuk.
Waar we staan, vooraf gezegd
We zijn een Flutter-eerst bureau; het werk is openbaar. We hebben KMP voor klanten beoordeeld — de oprichter die dit schrijft heeft jarenlang productie-Kotlin opgeleverd en houdt zijn KMP en SwiftUI bij — maar we hebben geen KMP-app in productie opgeleverd, en het zou oneerlijk zijn om te doen alsof dat anders ligt. Dit stuk doet daarom twee dingen zorgvuldig: waar we ontwikkelervaring vergelijken, zeggen we wat onze evaluatieprojecten lieten zien in plaats van productie-ervaring te suggereren; en waar KMP werkelijk het betere antwoord is, zeggen we dat ronduit, want een vergelijking die geschreven is om altijd op "huur ons in" uit te komen is voor jou waardeloos.
Wat er tegen 2026 werkelijk veranderde
KMP is al een tijd niet meer de experimentele optie, en een vergelijking die het zo behandelt is achterhaald.
- KMP zelf is stabiel en wordt van beide kanten omarmd. JetBrains verklaarde Kotlin Multiplatform eind 2023 stabiel, en Google maakte het op I/O 2024 tot een volwaardige aanbeveling voor het delen van bedrijfslogica op Android. Netflix, McDonald's en Cash App draaien met KMP gedeelde code in productie op serieuze schaal.
- Compose Multiplatform bereikte in 2025 stabiliteit op iOS. De gedeelde UI-laag van JetBrains is nu stabiel op Android, iOS en desktop, met het webdoel nog in bèta. Dat doet ertoe omdat het verandert wat "KMP" kan betekenen: niet alleen gedeelde logica onder native UI's, maar ook gedeelde UI.
- De Swift-kant is het actieve front. Kotlins directe Swift-export — zonder Objective-C-bridgingheaders ertussen — verscheen experimenteel en staat op JetBrains' pad naar stabiel. Tot die overal landt, blijft er op de grens tussen Kotlin en iOS wrijving zitten die native Swift-developers opvalt: geëxporteerde API's die vertaald aanvoelen in plaats van ontworpen.
- Flutter stond ondertussen niet stil. Impeller-rendering is de gevestigde standaard, en het decennium aan ecosysteem van het framework — pub.dev, gereedschap, wervingsvijver — is precies datgene waartegen een jongere stack moet opboksen.
De vergelijking die de meeste stukken verkeerd aanpakken
"Flutter tegenover KMP" is in werkelijkheid twee verschillende vergelijkingen, en door ze op één hoop te gooien raken teams misleid.
Vergelijking A: Flutter tegenover KMP met native UI's. Je deelt bedrijfslogica — netwerkverkeer, opslag, domeinregels, viewmodels — in Kotlin, en bouwt de interface twee keer: SwiftUI op iOS, Jetpack Compose op Android. Doorgaans landt het delen op 40–70% van de codebase. In ruil daarvoor is elke app niet te onderscheiden van volledig native, want de UI is volledig native.
Vergelijking B: Flutter tegenover Compose Multiplatform. Je deelt ook de UI. CMP op iOS tekent zijn eigen pixels via rendering uit de Skia-familie, precies de architectuurweddenschap die Flutter in 2017 aanging — en dan kies je tussen twee implementaties van hetzelfde idee: de voordelen van Flutter zijn volwassenheid, diepte van het ecosysteem en platformbreedte; het voordeel van CMP is dat de taal en de helft van je toolchain die zijn waarin je Android-team al leeft.
Blijf je afvragen in welke vergelijking je werkelijk zit. Dat beslist vrijwel alles hieronder.
Zes dimensies die er werkelijk toe doen
1. UI-strategie — de echte tweesprong
- KMP met native UI's levert iets wat Flutter architectonisch niet kan: elk scherm gebouwd uit de eigen componenten van het platform, met platformperfect gedrag in elk detail van scrollfysica, contextmenu's en toegankelijkheidssemantiek. Is "niet te onderscheiden van native" een harde eis — en in zakelijke verkooptrajecten in het bankwezen of de zorg is dat soms contractueel zo — dan is dit de eerlijke manier om die te halen terwijl je de logica eronder toch deelt.
- Flutter levert de omgekeerde garantie: overal dezelfde pixels, een designsysteem dat volledig van jou is, en één implementatie van elk scherm. Voor merkzware, animatiezware, eigen UI — het Arcana-uiteinde van het spectrum — verslaat één keer bouwen twee keer bouwen op zowel kosten als consistentie.
- CMP zit op deze as bij Flutter, niet bij native.
Eerlijke conclusie: dit is de dimensie om als eerste over te beslissen. Al het andere is verfijning.
2. Teamvorm — waar de meeste besluiten werkelijk vallen
KMP met native UI's vraagt nog steeds mensen die SwiftUI schrijven en mensen die Compose schrijven. Je hebt de gedupliceerde logica weggenomen, niet de behoefte aan twee platformvaardigheden. Dat is de juiste ruil voor organisaties die al native teams in dienst hebben — en dat zijn precies de organisaties die vandaag KMP op schaal uitleveren.
Flutter draait het om: één team, één taal, beide platforms — en daarom kan een zeskoppig bureau zoals het onze zeven productie-apps dragen. Werf je vanaf nul en bezit je nog geen Kotlin-expertise, dan is Flutter de kleinere organisatie om op te bouwen.
Eerlijke conclusie: bestaand Android/Kotlin-team → KMP verdient het je standaardhypothese te zijn. Nog geen mobiel team → met Flutter bouw je de kleinere organisatie.
3. Ecosysteem en de iOS-naad
Het ecosysteem van Flutter heeft een decennium aan diepte: pub.dev-pakketten voor de meeste SDK's die ertoe doen, volwassen gereedschap, en een enorme hoeveelheid oorlogsverhalen uit productie (we hebben ons deel geschreven). Het bibliotheekecosysteem van KMP is echt en groeit — kotlinx, Ktor, SQLDelight en Koin zijn degelijk — maar dunner in de lange staart, en de iOS-naad is waar evaluatieprojecten het voelen: tot directe Swift-export overal stabiel is, kunnen gedeelde API's die vanuit Swift worden gebruikt aanvoelen als vertaald Kotlin in plaats van native Swift, en je iOS-engineers zullen daar een mening over hebben.
Eerlijke conclusie: Flutter, duidelijk, vandaag — met de eerlijke voetnoot dat dit het snelst bewegende front van KMP is.
4. Stapsgewijze adoptie — de stille superkracht van KMP
Je kunt Flutter in een bestaande native app niet zinvol 10% per keer adopteren; add-to-app bestaat en werkt (we draaien er migraties op), maar het is een route naar het vervangen van de UI, niet naar eeuwig naast elkaar bestaan. KMP is voor het tegenovergestelde ontworpen: haal één module los — netwerkverkeer, synchronisatie, prijsregels — deel hem, lever uit, herhaal. Geen herbouw, geen groot besluit, bij elke stap omkeerbaar.
Eerlijke conclusie: voor een gezonde bestaande native app die wil stoppen met logica twee keer schrijven is KMP het juiste gereedschap en Flutter het verkeerde. We zeggen hetzelfde op onze migratiepagina: stabiele native apps met tevreden teams moeten nergens naartoe worden herschreven.
5. Prestaties
Saai antwoord, eerlijk gemeend: voor de overgrote meerderheid van apps zijn alle drie de configuraties snel genoeg dat architectuur en discipline rond widget-herbouw de prestaties bepalen, niet het framework. Impeller van Flutter en de native UI's van KMP renderen allebei op platformsnelheid; het canvasrenderen van CMP op iOS is dezelfde aanpak die Flutter jarenlang heeft gehard, uitgevoerd door een team dat zich op een eerder punt van die weg bevindt. Leeft je product op de rand van het renderen — streamende grafieken, zware animatie — dan is de volwassenheid van Flutter daar bewezen; dat was het ExtraETF-besluit.
6. Risico op de lange termijn
Het risico van Flutter is concentratie: het gedijt bij de gratie van Google, verzacht door open source en een enorme geïnstalleerde basis. Het risico van KMP is kleiner en anders van vorm: Kotlin is de officiële Android-taal, het hele bedrijf van JetBrains is developergereedschap, en Google onderschrijft het deelverhaal mede — maar specifiek CMP is jong, en gedeelde UI erop inzetten is wedden op zijn roadmap. Geen van beide risico's rechtvaardigt angst; beide rechtvaardigen bedrijfslogica achter schone modulegrenzen schrijven, wat de werkelijke verzekering is en frameworkonafhankelijk — hetzelfde argument als in de FAQ van onze pijlerpagina.
Kies Kotlin Multiplatform als…
- Je een bestaande, gezonde native app hebt — zeker Android-eerst met een Kotlin-team — en de pijn zit in logica twee keer schrijven, niet in de UI.
- Platformperfecte native UI een harde eis is en je SwiftUI plus Compose kunt bemensen.
- Je stapsgewijze, omkeerbare adoptie wilt binnen apps die je al uitlevert.
- Je organisatie al in Kotlin denkt: server-side Kotlin, senior Android-engineers, overal JetBrains-gereedschap.
Kies Flutter als…
- Je nieuw bouwt en één team wilt dat naar beide winkels uitlevert — de economie waar ons hele portfolio op draait.
- Je je designsysteem zelf bezit en het overal pixelidentiek wilt, inclusief web en desktop waar dat zijn plek verdient.
- Je vandaag het diepere ecosysteem en de grotere vijver aan toegewijde framework-engineers wilt, niet pas na de volgende mijlpaal op de roadmap.
- Het alternatief dat je werkelijk overweegt CMP is — dan kies je hoe dan ook de architectuur van Flutter, en volwassenheid pleit voor het origineel.
Het korte beslismodel
Bestaande native app, Kotlin-kennis in huis, UI blijft native: KMP — en daar heb je geen bureau als het onze voor nodig. Nieuw product, één team, eigen designsysteem, beide winkels op één budget: Flutter. In de verleiding om Compose Multiplatform te nemen voor een nieuw product: besef dat je de weddenschap van Flutter aangaat met een jongere stack, en maak de keuze op volwassenheid van het ecosysteem, niet op taalvoorkeur. Twijfel je dan nog, dan is de doorslag het team dat je over twee jaar werkelijk in dienst hebt.
Veelgestelde vragen
Aan het kiezen tussen Flutter en KMP voor een echt product? Plan een gesprek van 30 minuten — we geven een eerlijke aanbeveling, inclusief "gebruik KMP, en je hebt ons niet nodig."

