Boost Academy
FormaciónEvaluacionesPerfil
Volver
  • En directo

React Native — Avanzado

10h de clase en directo·HACK A BOSS·Español

Skills que aprenderás

  • React Native

Convocatorias

Necesitas un plan activo

Para acceder a los cursos en directo necesitas un plan activo. Estamos trabajando para que los planes estén disponibles pronto — ¡mantente atento!

No hay convocatorias abiertas ahora mismo, pero no te pierdas la oportunidad: guarda este curso y te avisamos en cuanto se abra una convocatoria.

Descripción

Objetivos

Temario

Requisitos técnicos

Conocimientos previos

Detalles de la convocatoria

Recursos

No hay recursos disponibles todavía para esta convocatoria

Dirigido a desarrolladoras y desarrolladores con experiencia contrastada en React Native que buscan operar con autonomía en proyectos de escala real, este curso profundiza en las decisiones de ingeniería que diferencian una app funcional de una app producción-lista. A lo largo de 10 horas el participante abordará la arquitectura por capas, la comunicación nativa, la gestión de estado global, la seguridad móvil y la automatización del ciclo de entrega, aplicando cada concepto sobre casos de uso complejos y medibles. Al finalizar, será capaz de diseñar, auditar y evolucionar aplicaciones React Native de escala media con criterios técnicos justificados y listos para ser defendidos ante equipos de ingeniería.

  1. Describir el modelo de capas (presentación, dominio y datos) y los principios que guían las decisiones arquitectónicas en aplicaciones React Native de escala media, incluyendo el modelo de hilos JS/UI y el papel de la Nueva Arquitectura (JSI/Fabric/TurboModules).
  2. Evaluar críticamente el rendimiento de una aplicación existente identificando cuellos de botella en los hilos JS y UI mediante herramientas de profiling sobre dispositivo físico.
  3. Optimizar el tiempo de renderizado de listas de alto volumen aplicando virtualización, memoización y lazy loading, logrando una mejora medible en FPS o TTI.
  4. Seleccionar y justificar una estrategia de gestión de estado global para un caso de uso complejo analizando complejidad, rendimiento y mantenibilidad de las alternativas disponibles.
  5. Diseñar un módulo nativo que resuelva un requisito no cubierto por la API JavaScript, evaluando el trade-off frente al uso de librerías de terceros.
  6. Implementar medidas de seguridad móvil —almacenamiento seguro, certificate pinning y ofuscación— validándolas contra un checklist de amenazas OWASP Mobile.
  7. Automatizar el pipeline de integración y entrega continua para iOS y Android, incluyendo firma de artefactos, distribución interna y estrategia de actualizaciones OTA con canales de despliegue y rollback automático.
  8. Elaborar un plan de migración incremental de la arquitectura Bridge a la Nueva Arquitectura con impacto estimado, dependencias bloqueantes y criterios de aceptación, integrando todas las decisiones de diseño trabajadas en el curso en una propuesta arquitectónica coherente.

Arquitectura por capas y modelo de hilos. El curso abre con los fundamentos conceptuales que sostienen el resto de la formación: la separación de responsabilidades entre capa de presentación, dominio y datos, y cómo ese diseño se proyecta sobre el modelo de ejecución de React Native (JS thread, UI thread y, en la Nueva Arquitectura, el Shadow thread). Se analizan distintas alternativas de organización de código —feature-first, layer-first, módulos independientes— y se practica la justificación de decisiones frente a requisitos concretos de escalabilidad y mantenibilidad.

Rendimiento: diagnóstico y optimización. A continuación se trabaja la auditoría de rendimiento con Flipper y React DevTools Profiler sobre dispositivo físico, identificando cuellos de botella reales en traces de JS y UI. Con ese diagnóstico como punto de partida, el bloque continúa con las técnicas de optimización de listas de alto volumen: configuración avanzada de FlatList virtualizada, estrategias de memoización con React.memo, useMemo y useCallback, y patrones de lazy loading, estableciendo siempre métricas de aceptación cuantitativas (≥ 20 % de mejora en FPS o TTI).

Gestión de estado global avanzada. Este bloque compara en profundidad Redux Toolkit, Zustand y Jotai sobre un caso de uso complejo de estado compartido, navegación y side-effects asíncronos. El análisis cubre complejidad de implementación, impacto en el tamaño del bundle, trazabilidad del estado y facilidad de testing, culminando en la selección razonada y documentada de la solución más adecuada para el escenario propuesto.

Comunicación nativa y módulos personalizados. Se estudia la capa de interoperabilidad entre JavaScript y código nativo, comparando el modelo Bridge clásico con Turbo Modules. El participante diseña e implementa un módulo nativo —tanto en Swift/Objective-C para iOS como en Kotlin/Java para Android— que resuelve un requisito funcional real, y aprende a evaluar cuándo una librería de terceros es preferible a una solución propia.

Seguridad móvil. Con referencia al Top 10 de OWASP Mobile, se cubren las amenazas más frecuentes en apps React Native y las contramedidas correspondientes: almacenamiento seguro con react-native-keychain o expo-secure-store, certificate pinning con react-native-ssl-pinning, técnicas de ofuscación y hardening del bundle JavaScript, y revisión del manifiesto de permisos en ambas plataformas. Cada medida se valida contra un checklist estructurado.

CI/CD, actualizaciones OTA y hoja de ruta hacia la Nueva Arquitectura. El curso cierra con el ciclo de entrega completo: configuración de pipelines con GitHub Actions y Fastlane para compilación, firma y distribución tanto en App Store Connect como en Google Play y canales internos; definición de canales de despliegue OTA con CodePush o EAS Update, incluyendo rollback automático y criterios de aceptación de versión. El bloque integrador finaliza con la elaboración de un plan de migración de Bridge a JSI/Fabric/TurboModules, identificando dependencias bloqueantes, impacto estimado por módulo y estrategia de rollout incremental, lo que permite al participante conectar todas las decisiones trabajadas en el curso en una propuesta arquitectónica cohesionada.

  • Equipo: macOS 13 o superior (obligatorio para los módulos de iOS y el pipeline de firma).
  • Entorno de desarrollo: Node.js ≥ 18 LTS, Watchman, Ruby ≥ 3.1 (para Fastlane), CocoaPods ≥ 1.13.
  • IDEs y herramientas: Xcode ≥ 15 con simulador de iPhone configurado, Android Studio Hedgehog o superior con al menos un AVD (API 33+), Visual Studio Code con las extensiones ESLint y Prettier.
  • Dispositivo físico: se recomienda encarecidamente disponer de un dispositivo iOS y/o Android real para los ejercicios de profiling (los simuladores no reproducen fielmente el comportamiento de hilos).
  • Herramientas de diagnóstico: Flipper 0.212+ instalado y funcionando con la app de ejemplo del curso, React DevTools standalone ≥ 5.
  • Cuentas y accesos: cuenta de desarrollador de Apple (individual o de equipo) con permisos de firma, cuenta de Google Play Console (modo de prueba interno válido), cuenta en GitHub con permisos para configurar Actions, cuenta gratuita en Expo (para EAS Update) o acceso a CodePush a través de App Center.
  • Conocimientos de línea de comandos: uso fluido de Git, npm/yarn/pnpm y comandos básicos de npx react-native y eas cli.

Se requiere haber completado el curso REN02 (React Native — Intermedio) o acreditar un nivel equivalente. El participante debe manejar con soltura el ciclo de vida de componentes funcionales, hooks personalizados, navegación con React Navigation, consumo de APIs REST/GraphQL y configuración básica del entorno de desarrollo en iOS y Android (Xcode, Android Studio, Metro). Es imprescindible tener experiencia previa publicando o al menos compilando apps en dispositivo físico, ya que varios ejercicios requieren trazas reales de rendimiento.