Dispatchers op verschillende platformen
Dispatchers kiezen die op Android en iOS bestaan
Dispatchers op verschillende platformen is een gratis Kotlin Multiplatform Academy-les op CoddyKit. Dit is les 2 van 4. Je kunt de volledige les hieronder gratis lezen en daarna in de browser praktisch oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Kotlin Multiplatform Academy. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Kotlin Multiplatform Academy bevat in totaal 4 lessen.
Waar het werk daadwerkelijk wordt uitgevoerd
Een coroutine draait nog steeds op een thread. Een dispatcher bepaalt welke thread of pool wordt gebruikt, en die keuze is op elk platform belangrijk.
Maak kennis met Dispatchers.Default
Gebruik Dispatchers.Default voor CPU-intensief werk, zoals parseren of sorteren. Deze dispatcher bestaat op Android en iOS, zodat gedeelde code erop kan vertrouwen.
withContext(Dispatchers.Default) { sort(data) }Dispatchers.Main voor de gebruikersinterface
Dispatchers.Main draait op de UI-thread van het platform. Deze is beschikbaar in gedeelde code, maar werk schermen alleen vanaf hier bij.
withContext(Dispatchers.Main) { render(state) }Het gat bij de IO-dispatcher
Let op: Dispatchers.IO bestaat op de JVM en Android, maar niet in gewone gedeelde code voor elk doel. Ga er niet van uit dat deze overal beschikbaar is.
Blijf in het veilige gedeelde gebied
Geef voor draagbare gedeelde logica de voorkeur aan Default en Main. Deze zijn gegarandeerd voor de doelen die KMP doorgaans ondersteunt.
Wisselen met withContext
Je verplaatst werk tussen threads met withContext. Bereken op Default en schakel daarna over naar Main om het resultaat te publiceren, allemaal in één functie.
val r = withContext(Dispatchers.Default) { heavy() }Dispatchers zijn inplugbaar
Een dispatcher is gewoon een element van CoroutineContext. Je kunt er een meegeven, waardoor gedeelde code eenvoudig te configureren en te testen is.
class Loader(val io: CoroutineDispatcher)Injecteren voor testbaarheid
Door de dispatcher mee te geven, kunnen tests deze vervangen door een deterministische dispatcher. Als je hem hard codeert, wordt gedeelde asynchrone logica moeilijker te testen. 🧪
iOS voert ze ook uit
Op iOS worden deze dispatchers automatisch aan de juiste native wachtrijen gekoppeld. Je gedeelde code hoeft niets te weten van GCD-details.
Eén keuze, beide platforms
Omdat de namen van de dispatchers overal hetzelfde zijn, plant dezelfde regel het werk correct op Android en iOS. Geen platformspecifieke vertakkingen in je logica. ✨
Kies het juiste hulpmiddel
Vuistregel: Default voor berekeningen, Main voor UI-updates en injecteer alles wat op IO lijkt, zodat het draagbaar blijft. 🎯
Korte controle
Kies de dispatcheroptie die het veiligst is voor gedeelde KMP-code.
Samenvatting
Je hebt geleerd dispatchers verstandig te kiezen: Default voor berekeningen, Main voor de UI en IO-achtige dispatchers injecteren omdat ze niet op elk doelplatform beschikbaar zijn. 🎉
Leer Kotlin met een AI-tutor — gratis
Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.
- Cursussen
- 30
- Lessen
- 120
Veelgestelde vragen
Is de les “Dispatchers op verschillende platformen” gratis?
Ja — de volledige tekst van “Dispatchers op verschillende platformen” kun je hier gratis op het web lezen. Als je interactief wilt oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is, en de rest van de cursus Kotlin Multiplatform Academy wilt ontgrendelen, kun je upgraden naar CoddyKit PRO. De cursus Kotlin Multiplatform Academy bevat in totaal 4 lessen.
Wat leer ik in “Dispatchers op verschillende platformen”?
Dispatchers kiezen die op Android en iOS bestaan Je oefent met Kotlin Multiplatform Academy door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.
Heb ik ervaring nodig om met Kotlin Multiplatform Academy te beginnen?
Ervaring vooraf is niet nodig. Kotlin Multiplatform Academy op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 2 van 4.
Hoe lang duurt de les “Dispatchers op verschillende platformen”?
De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.
Kan ik code schrijven en uitvoeren in deze les over Kotlin Multiplatform Academy?
Ja. Elke les over Kotlin Multiplatform Academy bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.
Alle lessen in deze cursus
- suspend-functies die overal werken
- Dispatchers op verschillende platformen
- CoroutineScope en levenscyclus
- withContext en structured concurrency