Unidad 3 / 11

Diseño de Interfaz y Generación de Código UI con Inteligencia Artificial

Ganancias:

  • Capacidad para producir código de interfaz robusto para Jetpack Compose y SwiftUI en orden de propósito, componente, cuatro estados (cargando/vacío/error/completo), sistema de diseño y accesibilidad.
  • Capacidad para producir una interfaz abierta a todos los usuarios definiendo la accesibilidad desde el principio, con un etiquetado correcto, contraste suficiente y tacto adecuado.
  • Capacidad para crear interfaces consistentes, multilingües y listas para temas claros/oscuros leyendo el color y el espacio del tema central.

El éxito de una aplicación móvil está determinado en gran medida por su interfaz de usuario (UI: las pantallas que el usuario ve y toca) y la experiencia del usuario (UX: cuán fluida y agradable es su uso). El usuario no ve el código incorrecto, pero siente la interfaz incorrecta en el primer segundo. La IA desempeña dos papeles poderosos en el desarrollo de interfaces: por un lado, genera ideas de diseño, flujo y texto (escritura UX); Por otro lado, convierte directamente este diseño en código de interfaz funcional. En esta unidad, aprenderemos cómo producir interfaces rápidas, accesibles y consistentes con IA, enfocándonos en las modernas herramientas de interfaz declarativa Jetpack Compose (Android) y SwiftUI (iOS). "Declarativo" significa que en lugar de explicar paso a paso cómo dibujar la pantalla, describe "así es como debería verse la pantalla en esta situación"; La herramienta hace el resto.

Del diseño al código: el orden correcto

Decirle a la IA que "haga una pantalla hermosa" es vago porque lo "hermoso" no se puede medir. Una buena generación de interfaces sigue este orden:

  1. Objeto y contenido. ¿Qué hace la pantalla, qué información muestra, qué hará el usuario?
  2. Lista de componentes. Partes como título, lista, botón, campo de formulario.
  3. Situaciones. Cargando, vacío (sin datos), error, lleno: los cuatro estados básicos de la pantalla.
  4. Sistema de diseño. Color, tipografía, reglas de espaciado; Cumpliendo generalmente con las Pautas de Interfaz Humana de Material 3 (Android) o iOS.
  5. Accesibilidad. Etiquetas del lector de pantalla, contraste adecuado, tamaño del objetivo táctil.
  6. Código. Dicho todo esto, generación de vistas Composable o SwiftUI.

El paso que se omite con más frecuencia es el tercero. Los desarrolladores sólo consideran el estado "completo"; mientras que en una aplicación real el usuario se encuentra principalmente con situaciones de "carga" y "error". Imprimir los cuatro estados en la IA es el secreto de una interfaz sólida.

Consejo: agregue "generar carga, vacío, error y lleno por separado" al final del mensaje. Esta única frase prepara su interfaz para el mundo real y reduce significativamente la cantidad de errores en la fase de control de calidad (pruebas de calidad).

La accesibilidad no es negociable.

La accesibilidad (la capacidad de utilizar la aplicación por parte de usuarios con discapacidades visuales, auditivas o motoras) es tanto una responsabilidad ética como una expectativa inherente y legal. La IA produce código accesible si se desea; Devuelve una interfaz sin etiquetas y de bajo contraste si no se desea. Tres reglas generales: dar a cada elemento interactivo una etiqueta significativa para el lector de pantalla (contentDescription/accessibilityLabel), un contraste de color adecuado entre el texto y el fondo (al menos una proporción de 4,5:1) y un objetivo táctil de al menos 48x48 dp/44x44 pt. Pregúntale a la IA estas cosas explícitamente.

Precaución: la IA también puede agregar una etiqueta de accesibilidad larga a un ícono decorativo; Esto abruma al usuario del lector de pantalla con charlas innecesarias. Los elementos puramente decorativos deben estar "ocultos de la accesibilidad" (el lector de pantalla debe omitirlos). Revisa las etiquetas producidas: deja que lo significativo hable, deja que lo decorativo permanezca en silencio.

Consistencia: sistema de diseño y tema.

Las aplicaciones profesionales no utilizan colores ni espacios aleatorios; sigue un sistema de diseño (conjunto estándar de colores, fuentes, espacios y componentes). Si le da a AI los valores de su tema (color principal, color secundario, radio de esquina, escala de tipografía), todas las pantallas aparecerán consistentes. Si no lo hace, cada pantalla usará un tono de azul diferente y la aplicación se verá desordenada. La forma más eficiente es pedirle primero a la IA que genere un archivo de tokens de diseño/tema y luego vincular todas las pantallas a ese tema.

Asunto

mal enfoque

Enfoque fuerte

Color

Codifique manualmente con colores cada pantalla

Tema central, pantallas leídas del tema.

situaciones

Sólo pantalla "completa"

Cargando/vacío/error/cuatro estados completos

accesibilidad

Agregado más tarde

Está definido en el reclamo desde el principio.

texto

incrustado en el código

Fuente separada, preparada para varios idiomas

tres mini casos

Caso 1: caso vacío guardado. Un equipo de aplicaciones de noticias hizo que la IA imprimiera estados de pantalla individuales. Gracias a la pantalla de “estado inactivo” (“Aún no se han guardado noticias”), el 70% de los participantes en las pruebas de usuario no abandonaron la aplicación en una pantalla en blanco; En la versión anterior, la pantalla en blanco permanecía blanca y los usuarios pensaban que estaba "rota" y se marchaban. Una copia pequeña aumentó la tasa de retención.

Caso 2: Rechazo del contraste. Un equipo aplicó a la App Store con pantallas con texto en gris claro, el color de la marca. Apple emitió una advertencia por motivos de accesibilidad debido al bajo contraste. Cuando se le dijo a la IA que "aumentara el contraste del fondo del texto por encima de 4,5:1", los colores se volvieron más oscuros y el problema se resolvió. Si se hubiera pedido desde el principio no habría habido demora.

Caso 3: Ruido de etiquetas decorativas. Un evaluador con discapacidad visual informó que cada ícono de adorno (“línea”, “punto”, “sombra”) se leyó en voz alta en la pantalla generada por IA, lo que hizo que la pantalla fuera inutilizable. La experiencia del lector de pantalla se volvió fluida cuando los elementos decorativos quedaron ocultos al acceso. Lección: accesibilidad significa "las etiquetas correctas", no "demasiadas etiquetas".

Aviso débil / Aviso fuerte

Mensaje débil: "Diseña una pantalla de perfil".

Potente mensaje: "Generar pantalla de perfil de usuario para iOS/SwiftUI. Contenido: avatar, nombre, correo electrónico, botón 'Editar perfil', lista de configuración. Estados: cargando (esqueleto), error (botón de reintento), completo. Diseño: No material, conforme a iOS HIG; colores del sistema, tipo dinámico. Accesibilidad: etiqueta de accesibilidad para cada elemento, íconos decorativos ocultos, destino táctil mínimo 44 puntos. Lea los valores del tema de un archivo separado, no incruste código de color en la pantalla. Primero dibuje el árbol de componentes, luego exporta el código."

Plantillas copiables

Plantilla de generación de pantalla: "Generar [nombre de pantalla] para [plataforma/herramienta]. Contenido: [elementos]. Acciones del usuario: [acciones]. Generar cuatro estados por separado: cargando, vacío, error, lleno. Sistema de diseño: [Material 3 / iOS HIG], leer desde tokens de tema. Accesibilidad: etiquetas, contraste >=4.5:1, estándar de destino táctil".

Plantilla de sistema de diseño/tema: "Producir una definición de tema central para mi aplicación ([Componer tema/una estructura de token de diseño en SwiftUI]): - Color primario [hex], secundario [hex], color de error, color de superficie - Escala de tipografía (título, cuerpo, descripción) - Escala de espaciado (4,8,16,24) - Estándar de radio de esquinaAgregue compatibilidad con temas claros y oscuros".

Plantilla de auditoría de accesibilidad: "Compruebe la accesibilidad de este código de pantalla: 1) ¿Hay elementos interactivos sin etiquetar? 2) ¿Las relaciones de contraste son adecuadas? 3) ¿Los objetivos táctiles son lo suficientemente grandes? 4) ¿Están los elementos decorativos ocultos del lector de pantalla? Sugiera soluciones para cada problema. [código]"

Plantilla de diseño a código: "Describo el siguiente diseño: [descripción de pantalla o captura de pantalla]. Traduce esto al código [Compose/SwiftUI]. Mantenga el espaciado y la alineación fieles al diseño, pero agregue los cuatro estados".

Errores comunes

  • Solo pensando en la situación completa. La mayoría de las veces, el usuario real ve la pantalla de carga/error.
  • Incrustar color y espacio en el código. Si el tema no es central, se pierde coherencia y el mantenimiento se vuelve difícil.
  • Dejando la accesibilidad para el final. Agregarlo más tarde es costoso; Es gratuito si se solicita desde el inicio.
  • Sobreetiquetado. La lectura de elementos decorativos también altera la experiencia del lector de pantalla.
  • Incrustar texto en código. Cuando se requiere soporte multilingüe, es necesario cambiar manualmente cada pantalla; Mantenga los textos separados.
  • Esperando una copia exacta de la captura de pantalla. El diseño de IA produce aprox. La precisión de los píxeles se establece manualmente.

En resumen

La IA es poderosa en la producción de interfaces, pero requiere orientación. El orden correcto: propósito, componentes, cuatro estados (cargando/vacío/error/lleno), sistema de diseño, accesibilidad y luego código. La accesibilidad no es negociable y significa “la etiqueta correcta”, no “demasiadas etiquetas”. Para mantener la coherencia, lea el color y el espaciado del tema central, no los incruste en el código. La voluntad fuerte define todo esto desde el principio; Por lo tanto, la interfaz está lista para el mundo real, la aprobación de la tienda y todos los usuarios.

Tarea de aplicación

Usando la “plantilla de generación de pantalla” para una pantalla de configuración, solicite a la IA el código Compose o SwiftUI y solicite los cuatro estados. Luego verifique el mismo código con la "Plantilla de verificación de accesibilidad". Encuentre y corrija al menos una mejora de accesibilidad (etiqueta faltante, contraste bajo o objetivo táctil pequeño) y observe qué estado (cargando/vacío/error) cree que aparecerá con más frecuencia en el uso real.

lista de verificación

  • [] Dejé claro el propósito y los componentes de la pantalla en el mensaje
  • [] Tenía los cuatro estados (cargando/vacío/error/lleno) generados por separado
  • [ ] Hice que el color y el espacio se leyeran desde el tema central, no lo incrusté en el código.
  • [ ] Quería etiquetas de accesibilidad y contraste desde el principio.
  • [] Verifiqué que los elementos decorativos están ocultos del lector de pantalla.
  • [] Mantuve los textos separados, listos para varios idiomas.