10 ejemplos para comenzar a traducir diseños en interacciones móviles viables en Expo SDK 57 - qué validar antes de comprometerte con el sprint, cómo hablar con diseño y PM en términos móviles, y dónde fallan los supuestos web en teléfonos.
Trata la exportación de Figma como el inicio del refinamiento - no el final del diseño.
## Lista de verificación de traspaso (por pantalla)- [ ] Artboards de iOS + Android O explícitamente "la plataforma sigue HIG/Material"- [ ] Insertos de área segura anotados (notch, Dynamic Island, barra de navegación)- [ ] Estados del teclado: predeterminado, enfocado, error en línea- [ ] Cargando, vacío, error - no solo el caso feliz- [ ] Hilo de comentarios de viabilidad de ingeniería abierto antes de la planificación del sprint
PM programa paso de viabilidad de 15 minutos con ingeniero + diseñador antes de señalar
"Se ve bien" en Figma ≠ "se envía este sprint" en dos plataformas
Registra bloqueadores en el ticket - "necesita spike de módulo nativo" es un resultado válido
Las maquetas web con position: fixed en barras superiores ignoran el notch y la barra de estado.
// src/screens/ProfileScreen.tsximport { View, Text } from "react-native";import { useSafeAreaInsets } from "react-native-safe-area-context";export function ProfileScreen() { const insets = useSafeAreaInsets(); return ( <View style={{ flex: 1, paddingTop: insets.top }}> <Text accessibilityRole="header">Perfil</Text> {/* El contenido se desplaza bajo el encabezado transparente solo si fue diseñado así */} </View> );}
Muestra a los diseñadores dos frames de dispositivo: iPhone con Dynamic Island + Android con agujero de cámara
Los números mágicos de paddingTop: 44 fallan en hardware nuevo - usa insertos
Los pies de página adhesivos necesitan insets.bottom para solapamiento del indicador de inicio
fontSize: 14 fijo en Figma se rompe cuando los usuarios habilitan texto más grande en configuración del sistema.
import { Text, StyleSheet } from "react-native";export function BodyText({ children }: { children: string }) { return ( <Text style={styles.body} maxFontSizeMultiplier={1.3} // límite de producto - documenta en a11y ADR si es menor que el sistema > {children} </Text> );}const styles = StyleSheet.create({ body: { fontSize: 16, lineHeight: 24 }, // token: typography.body});
Finaliza el refinamiento con una caminata de 10 minutos en dispositivo - prototipo, construcción de vista previa, o Storybook en teléfono.
# Comparte vista previa con diseño + PM antes del inicio del sprinteas build --profile preview --platform all# QR en notas de refinamiento; misma construcción para aceptación de QA
## Refinamiento hecho cuando- [ ] El diseñador vio iOS + Android (sim o dispositivo)- [ ] El ingeniero registró riesgos de viabilidad en el ticket- [ ] PM aceptó alternativa para cualquier elemento "spike pendiente"- [ ] Movimiento marcado: Animated vs Reanimated vs estático
Los stakeholders sopesan demasiado la fidelidad de Figma - demostración de dedo reestablece expectativas
Registra grabación de pantalla para PMs asincrónico - 30 segundos superan un párrafo
¿Cuándo debe unirse ingeniería a revisiones de diseño?
Antes del bloqueo de alta fidelidad en flujos nuevos - idealmente en wireframe. Un ingeniero en crit de diseño semanal atrapa problemas específicos móviles temprano. Los que se unen tarde producen rework de píxeles costosos.
¿Cómo decimos "no" sin bloquear el producto?
Ofrece alternativas clasificadas: selector de plataforma vs personalizado, lámina inferior vs pantalla completa, fase 1 sin animación. "No" con opciones es colaboración; "no" solo es una pared.
¿Necesitamos diseños separados de iOS y Android?
No siempre - el diseño compartido con diferencias de chrome de plataforma es común. Documenta divergencia intencional en Decisiones de paridad de plataforma; no dejes que la deriva suceda por accidente.
¿Qué si el diseño usa componentes web como referencia?
Traduce patrones, no copies DOM. Flexbox traduce; hover, vh, y grillas multicolumna no. Consulta Conceptos básicos de sistemas de diseño para APIs de componentes RN.
¿Cuánto buffer deberían incluir las estimaciones para cambios de diseño?
Deberían aprender restricciones móviles: áreas seguras, revisión de tienda, OTA vs binario, sin conexión. La alfabetización de código ayuda a leer notas de viabilidad - no es un requisito escribir JSX.