0Pricing
Android Academy · Lección

Qué es un Composable

Funciones que describen la interfaz

Qué es un Composable es una lección gratuita de Android 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 Android Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Android Academy incluye 4 lecciones en total.

¿Qué es un composable?

En Jetpack Compose, las pantallas se crean escribiendo funciones, no inflando diseños XML. Un composable es simplemente una función de Kotlin que describe una parte de la interfaz de usuario.

Estas funciones se marcan con la anotación @Composable. Esto indica al compilador de Compose que la función puede emitir UI y llamar a otras funciones composable.

La anotación @Composable

Añadir @Composable encima de una función activa las capacidades de Compose. Dentro de ella, puede llamar a otros composables, como Text o Column.

Por convención, los nombres de las funciones composable empiezan con una letra mayúscula, igual que las clases. Esto facilita identificar las funciones de UI en el código.

@Composable
fun Greeting() {
    Text("Hello, Compose!")
}

UI descrita en Kotlin

Un composable no devuelve un objeto View. En su lugar, emite UI como efecto secundario cuando Compose lo ejecuta. Solo tiene que describir lo que debe aparecer en pantalla.

Este estilo se denomina declarativo: se indica cómo debe verse la UI para los datos actuales y Compose determina cómo dibujarla.

@Composable
fun WelcomeMessage() {
    Text("Welcome back!")
}

Los composables llaman a otros composables

La verdadera potencia proviene de la composición anidada. Un composable puede llamar a otros composables, lo que permite crear pantallas complejas a partir de piezas pequeñas y reutilizables.

Aquí, un composable principal llama a un composable secundario. Compose los ejecuta de arriba abajo y organiza la UI emitida.

@Composable
fun Header() {
    Text("My App")
}

@Composable
fun Screen() {
    Header()
}

Funciones sin valores de retorno

La mayoría de los composables devuelven Unit, lo que significa que no devuelven nada útil. Su función es emitir UI, no devolver un valor.

Por eso se llama a un composable por su efecto en la pantalla, no para capturar un resultado. Esto es diferente de las funciones normales, pero pronto resulta natural.

@Composable
fun Footer() {
    Text("\u00A9 2024 CoddyKit")
}

Pasar datos como parámetros

Los composables pueden recibir parámetros, igual que las funciones normales de Kotlin. Esto permite que el mismo composable muestre datos diferentes.

Aquí, Greeting acepta un name y lo muestra. Pasar los datos como entrada hace que los composables sean flexibles y reutilizables en toda la aplicación.

@Composable
fun Greeting(name: String) {
    Text("Hello, " + name + "!")
}

Reutilizar un composable

Como los composables son funciones, puede llamar a uno varias veces con argumentos diferentes. Cada llamada emite su propia copia de la UI.

Así evita repetirse: escriba la UI una vez y reutilícela donde la necesite.

@Composable
fun NameList() {
    Greeting("Ada")
    Greeting("Linus")
}

Dónde viven los composables

Los composables se colocan dentro de la actividad de Android mediante setContent. Ese bloque es el punto de entrada en el que Compose toma el control de la pantalla.

Dentro de setContent, llama a su composable de nivel superior, y todo lo que este emite se convierte en la UI de la aplicación.

setContent {
    Greeting("World")
}

Conceptos básicos de la recomposición

Cuando cambian los datos que lee un composable, Compose vuelve a ejecutar esa función para actualizar la pantalla. Esta nueva ejecución se denomina recomposición.

No tiene que actualizar la UI manualmente. Cambie los datos y Compose recompondrá automáticamente los composables afectados. Así la pantalla se mantiene sincronizada con el estado.

Mantenga pequeños los composables

Una buena práctica consiste en hacer que cada composable realice una tarea clara. Los composables pequeños y centrados son más fáciles de leer, probar y reutilizar.

Si una función crece demasiado, divídala en composables más pequeños y llámelos conjuntamente. Su yo del futuro se lo agradecerá.

@Composable
fun ProfileHeader(name: String) {
    Text(name)
}

Importaciones que verá

Los composables proceden de las bibliotecas de Compose. A menudo importará androidx.compose.runtime.Composable para la anotación y androidx.compose.material3.Text para el texto.

Android Studio suele añadir estas importaciones por usted. Saber de dónde proceden resulta útil cuando falta una importación.

import androidx.compose.runtime.Composable
import androidx.compose.material3.Text

Comprobación rápida

Repasemos qué hace que una función sea un composable.

Resumen

Ha aprendido que un composable es una función de Kotlin marcada con @Composable que describe la UI de forma declarativa. Los composables pueden recibir parámetros, llamar a otros composables y se nombran con mayúscula inicial.

Devuelven Unit y emiten UI en lugar de devolver un valor. Cuando cambian los datos, Compose los recompone para actualizar la pantalla. A continuación, mostrará texto real y apilará vistas con Column.

Preguntas frecuentes

¿La lección «Qué es un Composable» es gratis?

Sí — el texto completo de «Qué es un Composable» 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 Android Academy, actualiza a CoddyKit PRO. El curso de Android Academy incluye 4 lecciones en total.

¿Qué aprenderé en «Qué es un Composable»?

Funciones que describen la interfaz Practicas Android 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 Android Academy?

No se requiere experiencia previa. Android 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 «Qué es un Composable»?

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 Android Academy?

Sí. Cada lección de Android 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. Qué es un Composable
  2. Conceptos básicos de Text y Column
  3. Previsualizar su interfaz
  4. Crear una tarjeta de perfil
← Volver a Android Academy