Mobile Guidelines

Lineamientos para implementaciones nativas en iOS (Swift/SwiftUI) y Android (Kotlin/Jetpack Compose), y cross-platform con React Native.

Touch Targets

  • Mínimo 44×44 pts (iOS) / 48×48 dp (Android) para elementos interactivos
  • Separación mínima de 8px entre targets para evitar toques accidentales
  • Áreas de toque más grandes que el elemento visual si es necesario (hitSlop)
  • Nunca usar elementos interactivos menores a 32px en ninguna dimensión

Safe Areas

/* Respetar siempre:
   - Status bar (top)
   - Home indicator (bottom en iOS)
   - Navigation bar (bottom en Android)
   - Notch / Dynamic Island (iOS)
   - Camera cutout (Android)
*/

// React Native
import { SafeAreaView } from 'react-native-safe-area-context';

<SafeAreaView edges={['top', 'bottom']}>
  {children}
</SafeAreaView>

// SwiftUI
.ignoresSafeArea(.container, edges: .top)

// Jetpack Compose
WindowInsets.safeDrawing

Tipografía mobile

ElementoiOSAndroid
Large Title34pt BoldheadlineLarge (32sp)
Title28pt BoldheadlineMedium (28sp)
Headline17pt SemiboldtitleMedium (16sp)
Body17pt RegularbodyLarge (16sp)
Caption12pt RegularlabelSmall (11sp)
Footnote13pt RegularbodySmall (12sp)

Haptic Feedback

AcciónTipoUso
TapLight impactToggle, selección de opción
SuccessSuccess notificationAcción completada, guardado
ErrorError notificationValidación fallida, error
Long pressMedium impactContext menu, drag start