0Pricing
Kotlin Multiplatform Academy · Lección

Fundamentos de Flow en código compartido

Emita un flujo de valores desde commonMain

Fundamentos de Flow en código compartido es una lección gratuita de Kotlin Multiplatform Academy en CoddyKit. Esta es la lección 1 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.

Partes de esta lección aún no han sido traducidas y se muestran en inglés.

Streams of Values

A suspend function returns one value, then it is done. A Flow is different: it emits a whole stream of values over time, one after another. 🌊

Cold by Default

A Flow is cold: the code inside it does nothing until someone starts collecting. No collector means no work, which keeps your shared code lazy and cheap.

Build One with flow {}

The flow builder is the simplest way to create a stream. Inside it you call emit to push each value out to whoever is listening.

fun ticks(): Flow<Int> = flow {
    emit(1)
    emit(2)
    emit(3)
}

emit Pushes a Value

Each emit call hands one value to the collector before moving on. The stream is finished only when the builder block returns.

Collect to Receive

To read a Flow you collect it. Collecting is a suspend call, so it lives inside a coroutine and runs your block for every emitted value.

ticks().collect { value ->
    println(value)
}

It Works Everywhere

Flow ships in kotlinx-coroutines, which is multiplatform. The exact same flow code in commonMain runs on Android and iOS with zero changes. 🎉

flowOf for Fixed Values

When you already know the values, flowOf wraps them into a Flow instantly. It is the quickest stream you can make.

val names = flowOf("Ana", "Beto", "Cem")

Turn a List into a Flow

Any Iterable can become a stream with asFlow. This is handy when you already have a list and want to process it one item at a time.

val stream = listOf(10, 20, 30).asFlow()

Emit Over Time

Because the builder is a suspend block, you can delay between emissions. That models real streams like ticks, sensor readings, or polling.

flow {
    repeat(3) { i ->
        delay(1000)
        emit(i)
    }
}

Flow vs suspend

Reach for a suspend function for a single async result, and a Flow when values keep arriving. Choosing the right one keeps your API honest.

Why It Fits Shared Code

Flow lets your shared layer push data as it changes, and each app just listens. Your business logic drives the UI without knowing which platform it is on.

Quick Check

Let us make sure the basics stuck.

Recap

You met Flow: a cold stream you build with flow and read with collect. It is multiplatform, so the same stream feeds Android and iOS alike. 🌊

Preguntas frecuentes

¿La lección «Fundamentos de Flow en código compartido» es gratis?

Sí — el texto completo de «Fundamentos de Flow en código compartido» 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 «Fundamentos de Flow en código compartido»?

Emita un flujo de valores desde commonMain 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 1 de 4.

¿Cuánto tiempo toma la lección «Fundamentos de Flow en código compartido»?

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

  1. Fundamentos de Flow en código compartido
  2. StateFlow para el estado compartido de la interfaz
  3. Operadores: map, filter y combine
  4. Recopile Flows en Android e iOS
← Volver a Kotlin Multiplatform Academy