Dispatchers entre plataformas
Elija dispatchers disponibles en Android e iOS
Dispatchers entre plataformas es una lección gratuita de Kotlin Multiplatform Academy en CoddyKit. Esta es la lección 2 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Kotlin Multiplatform Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Kotlin Multiplatform Academy incluye 4 lecciones en total.
Dónde se ejecuta realmente el trabajo
Una coroutine sigue ejecutándose en algún hilo. Un dispatcher decide qué hilo o grupo de hilos utiliza, y esa elección es importante en cada plataforma.
Conozca Dispatchers.Default
Use Dispatchers.Default para trabajos intensivos de CPU, como analizar o ordenar datos. Está disponible en Android y iOS, por lo que el código compartido puede utilizarlo.
withContext(Dispatchers.Default) { sort(data) }Dispatchers.Main para la interfaz
Dispatchers.Main se ejecuta en el hilo de interfaz de la plataforma. Está disponible en el código común, pero desde aquí solo debe actualizar las pantallas.
withContext(Dispatchers.Main) { render(state) }La limitación del dispatcher IO
Tenga cuidado: Dispatchers.IO existe en la JVM y en Android, pero no en el código común normal de todos los destinos. No dé por hecho que está disponible en todas partes.
Manténgase en terreno seguro para código común
Para una lógica compartida portable, prefiera Default y Main. Están garantizados en los destinos que KMP suele admitir.
Cambie con withContext
Puede mover el trabajo entre hilos mediante withContext. Calcule con Default y, después, cambie a Main para publicar el resultado, todo en una sola función.
val r = withContext(Dispatchers.Default) { heavy() }Los dispatchers son intercambiables
Un dispatcher es simplemente un elemento de CoroutineContext. Puede pasarlo como parámetro, lo que facilita configurar y probar el código compartido.
class Loader(val io: CoroutineDispatcher)Inyéctelo para facilitar las pruebas
Pasar el dispatcher permite que las pruebas sustituyan el dispatcher por uno determinista. Especificarlo directamente hace que la lógica asíncrona compartida sea más difícil de test. 🧪
iOS también los ejecuta
En iOS, estos dispatchers se asignan automáticamente a las colas nativas adecuadas. El código compartido no necesita conocer los detalles de GCD.
Una elección, ambas plataformas
Como los nombres de los dispatchers son comunes, la misma línea programa correctamente el trabajo en Android y iOS. No necesita ramas específicas de cada plataforma en su logic. ✨
Elija la herramienta adecuada
Regla general: Default para los cálculos, Main para las actualizaciones de la interfaz e inyecte todo lo relacionado con IO para mantener la portabilidad. 🎯
Comprobación rápida
Elija el dispatcher más seguro para el código compartido de KMP.
Resumen
Aprendió a elegir los dispatchers correctamente: Default para los cálculos, Main para la interfaz e inyectar los relacionados con IO, ya que no están disponibles en todos los destinos. 🎉
Aprende Kotlin con un tutor de IA — gratis
Escribe y ejecuta código real en tu navegador, obtén ayuda instantánea de un tutor de IA disponible 24/7 y continúa donde lo dejaste en la web o en la aplicación.
- Cursos
- 30
- Lecciones
- 120
Preguntas frecuentes
¿La lección «Dispatchers entre plataformas» es gratis?
Sí — el texto completo de «Dispatchers entre plataformas» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Kotlin Multiplatform Academy, actualiza a CoddyKit PRO. El curso de Kotlin Multiplatform Academy incluye 4 lecciones en total.
¿Qué aprenderé en «Dispatchers entre plataformas»?
Elija dispatchers disponibles en Android e iOS Practicas Kotlin Multiplatform Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Kotlin Multiplatform Academy?
No se requiere experiencia previa. Kotlin Multiplatform Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 2 de 4.
¿Cuánto tiempo toma la lección «Dispatchers entre plataformas»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Kotlin Multiplatform Academy?
Sí. Cada lección de Kotlin Multiplatform Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Funciones suspend que funcionan en todas partes
- Dispatchers entre plataformas
- CoroutineScope y ciclo de vida
- withContext y concurrencia estructurada