Saltar al contenido

Tecnología · Interfaces para Android

Desarrollo de interfaces con Jetpack Compose

Jetpack Compose es la forma actual de construir interfaces en Android: la pantalla se describe con piezas pequeñas y se adapta sola al estado de los datos y al tamaño del dispositivo. Construimos interfaces nuevas, las preparamos para móvil, plegable y tableta, y migramos las vistas antiguas sin detener la app.

Fig. 01Bastidor extensibleCOMPACTOMEDIOAMPLIODISEÑO ADAPTABLEEn bucle
Al girar la manivela el bastidor se ensancha y la pantalla se reordena: una columna en el móvil, lista y detalle en el plegable, y menú lateral en la tableta.

Situaciones

Qué puedes resolver con una interfaz en Jetpack Compose

Compose compensa cuando la app debe verse bien en aparatos muy distintos, llevar el aspecto de tu marca y cambiar a menudo sin que cada retoque sea una obra.

  • Una tableta que enseña un móvil gigante

    La misma pantalla estirada desaprovecha el espacio. Con Compose la interfaz cambia de disposición según el ancho: dos paneles, menú lateral o una sola columna.

  • Pantallas difíciles de retocar

    Diseño repartido entre archivos XML y código, con estilos duplicados. Con piezas reutilizables el cambio se hace una vez y llega a todas las pantallas.

  • Una marca que no se reconoce en la app

    Colores, tipografía y formas definidos como tema, con su versión clara y oscura, para que toda la app los herede sin repetirlos en cada pantalla.

  • Una app con vistas XML que hay que modernizar

    No hace falta rehacerla. Las pantallas nuevas se escriben en Compose y conviven con las antiguas, que se sustituyen una a una.

El indicador de ancho: señala cuándo la pantalla cambia de disposición

Qué conviene revisar al empezar

  • En qué tamaños de pantalla se usa: móvil, plegable, tableta
  • Si hay un diseño o un sistema de marca del que partir
  • Qué pantallas existen hoy y con qué están hechas
  • Qué versión mínima de Android se soporta

Servicios

Qué desarrollamos con Jetpack Compose

Cuatro tipos de encargo. El tema y las piezas van primero; las pantallas salen de ellos.

  • Módulo 1 · Bastidor

    Pantallas e interfaces completas

    Listas, formularios, fichas y navegación, con sus estados vacíos, de carga y de error, construidos sobre los datos reales de la app y con los componentes de Material adaptados a tu marca.

    Ejemplos de entregables

    • Listado con búsqueda y filtros
    • Formulario por pasos
    • Ficha de detalle con acciones
  • Módulo 2 · Regla de anchos

    Diseños adaptables

    La interfaz preparada para móvil, plegable y tableta: paneles que aparecen cuando hay sitio, menú que pasa de abajo al lateral y contenido que no se estira sin sentido.

    Ejemplos de entregables

    • Lista y detalle en tableta
    • Pantalla para plegable abierto
    • Menú lateral en pantallas anchas
  • Módulo 3 · Tambor de tema

    Tema y sistema de diseño

    Colores, tipografía, formas y componentes de tu marca definidos una vez, con modo claro y oscuro, y documentados para que cada pantalla nueva se monte con ellos.

    Ejemplos de entregables

    • Tema de marca claro y oscuro
    • Biblioteca de componentes
    • Componentes con vista previa
  • Módulo 4 · Adaptador

    Migración gradual desde vistas XML

    Las pantallas antiguas se sustituyen una a una. Compose y las vistas XML conviven en la misma pantalla si hace falta, de modo que la migración no obliga a parar el desarrollo.

    Ejemplos de entregables

    • Pantalla nueva en una app antigua
    • Pieza de Compose dentro de una vista
    • Plan de migración por pantallas

Un ejemplo en funcionamiento

Una pantalla, tres anchos

Ejemplo funcional con datos ficticios. Cambia el ancho del dispositivo y el color de marca: la pantalla se reordena y se repinta sola, sin que nadie haya dibujado tres versiones.

Ejemplo funcional · datos de muestra

Ancho del dispositivo

Color de marca

Lo que decide la pantalla

La pantalla está dibujada en tu navegador y no es una app de Android real. Enseña el comportamiento que se programa con Compose: la disposición depende del espacio disponible y el aspecto, del tema.

Integración

Cómo encaja con tu app

Jetpack Compose es la capa que se ve. Debajo están los datos y las reglas de la app, escritos en Kotlin, y alrededor, las vistas que ya existen.

De dónde viene

Jetpack ComposeInterfaz en Jetpack Composese adapta al estado y al ancho

A dónde llega

  • Móvilesuna columna
  • Plegables y tabletasvarios paneles
  • Widgets y relojinformación a la vista

Dependencias que conviene revisar

  • Qué versión mínima de Android tienen los dispositivos más antiguos
  • Qué pantallas dependen de componentes de terceros hechos para vistas XML
  • Si los datos ya están separados de las pantallas o hay que separarlos
  • Qué tamaños de pantalla hay de verdad entre tus usuarios

Cómo trabajamos y qué entregamos

Cómo trabajamos un encargo de Jetpack Compose

  1. 01

    Revisión inicial

    Miramos las pantallas que hay, con qué están hechas, en qué dispositivos se usan y el diseño del que se parte.

  2. 02

    Alcance

    Escribimos qué pantallas y qué piezas entran, para qué anchos, en qué orden se migran las antiguas y qué queda fuera.

  3. 03

    Primera entrega

    El tema, las primeras piezas y una pantalla completa funcionando dentro de tu app, con datos reales.

  4. 04

    Validación

    La pruebas en un móvil, en una tableta y en un plegable si lo hay, con letra grande y en modo oscuro.

  5. 05

    Documentación

    El catálogo de piezas con sus vistas previas y las reglas para construir pantallas nuevas con ellas.

Qué recibes al cerrar el encargo

  • El código de las pantallas, el tema y las piezas en tu repositorio
  • Un catálogo de componentes con vistas previas
  • El plan de migración de las pantallas que quedan
  • La lista de lo que queda fuera y por qué

Preguntas

Preguntas sobre Jetpack Compose

¿Falta la tuya? Escríbela a info@veodar.com y te respondemos con una pregunta concreta, no con un dossier.

¿Hay que rehacer la app para usar Jetpack Compose?

No. Compose y las vistas XML conviven: una pantalla en Compose puede incluir una vista antigua y una pantalla antigua puede incluir una pieza en Compose. Lo habitual es empezar por las pantallas nuevas y por las que más se tocan.

¿Merece la pena adaptar la app a tabletas y plegables?

Depende de dónde se use. Si tu equipo trabaja con tabletas o tus clientes tienen plegables, una interfaz que aprovecha el ancho se nota en cada tarea. Si todos usan móvil, basta con que la app no se rompa en pantallas grandes. Lo decidimos con los dispositivos reales.

¿Compose funciona en dispositivos antiguos?

Funciona en versiones de Android de hace bastantes años, así que rara vez es el límite. Lo que sí conviene comprobar es el rendimiento en los aparatos más modestos del parque, sobre todo en listas largas, y por eso se prueba en ellos.

¿Puedo usar los colores y la tipografía de mi marca?

Sí. Compose parte del sistema de diseño de Google, Material, pero el tema se define con tus colores, tu tipografía y tus formas. Los componentes los heredan, y los que necesites distintos se construyen aparte.

¿Y la versión de iPhone?

En iPhone el equivalente es SwiftUI, que trabaja con la misma idea. El diseño y los nombres de las piezas se comparten entre los dos sistemas aunque el código sea distinto. Existe también una variante de Compose que funciona en iOS; si compensa o no, se valora por proyecto.

¿Qué pasa con las pantallas que no se migran?

Siguen funcionando igual. La migración no tiene por qué ser completa: hay pantallas estables que no compensa tocar. Queda escrito cuáles se migran, cuáles se dejan y por qué.

Actualizado:

Otras tecnologías

Con qué se combina

Todas las tecnologías
  • Desarrollo de apps Android con KotlinApps nativas para el parque de dispositivos que tienes: móviles, tabletas y terminales de trabajo, con tareas en segundo plano y periféricos.
  • Interfaces con SwiftUIPantallas, componentes propios y widgets para iPhone, iPad y reloj. Construimos interfaces nuevas o migramos las de UIKit pantalla a pantalla.
  • Desarrollo de apps con React NativeUna sola base de código para iPhone y Android, con módulos nativos donde hacen falta. Creamos apps nuevas y continuamos las que ya tienes.

Empezar

Cuéntanos en qué dispositivos se usa tu app.

Con unas capturas de las pantallas y los aparatos en los que se usa nos basta para una primera respuesta.

Qué ayuda a valorarlo

  • Capturas o diseño de las pantallas
  • Con qué está hecha la app hoy
  • En qué dispositivos se usa
  • La versión mínima de Android

¿Antes de escribir? Mira cómo presupuestamos un proyecto o las soluciones por área de la empresa.

Fig. 07Manipulador MorseH · O · L · A