Contacta con nosotros

Temario del curso

Introducción

Semana 1: Conceptos avanzados de Swift, Kotlin y JavaScript

  • Swift (iOS)
    • Funciones avanzadas: cierres (closures), captura de valores, funciones de orden superior.
    • Programación orientada a protocolos y genéricos.
    • Gestión de memoria con ARC (Recuento de Referencias Automático).
  • Kotlin (Android)
    • Funciones de extensión y Biblioteca Estándar de Kotlin.
    • Corutinas para programación asíncrona.
    • Clases selladas, enumeraciones y manejo avanzado de errores.
  • JavaScript (React Native)
    • Características avanzadas de ES6+: desestructuración, async/await, promesas.
    • Conceptos de programación funcional en JavaScript.
    • Trabajo con bibliotecas de terceros en React Native.

Semana 2: Arquitectura y patrones de diseño de aplicaciones móviles

  • MVVM (Modelo-Vista-ViewModel) para iOS y Android
    • Comprensión de la arquitectura MVVM para iOS (Swift) y Android (Kotlin).
    • Implementación de ViewModels y observación de datos con LiveData (Android) y Combine (iOS).
    • Programación reactiva con RxSwift y RxKotlin.
  • Arquitectura basada en componentes en React Native
    • Comprensión de los ciclos de vida de los componentes y los hooks.
    • Mejores prácticas para gestionar el estado y las propiedades (props) a escala.
    • Uso de React Context API para la gestión del estado global.

Semana 3: Conceptos avanzados de redes

  • Redes en iOS (Swift)
    • Trabajo con URLSession para solicitudes de red personalizadas.
    • Llamadas avanzadas a APIs REST y manejo de errores.
    • Trabajo con Codable y análisis de JSON.
    • Mejores prácticas para la comunicación segura de APIs (anclaje de SSL, OAuth).
  • Redes en Android (Kotlin)
    • Retrofit para realizar llamadas a APIs y manejar respuestas.
    • Manejo avanzado de errores de API y mecanismos de reintento.
    • Uso de Gson o Moshi para el análisis de JSON.
    • Comunicación segura mediante HTTPS y autenticación OAuth.

Semana 4: Redes en React Native

  • Integración de APIs con Axios y Fetch
    • Integración avanzada de APIs con Axios y Fetch.
    • Estrategias de manejo de errores y reintentos en solicitudes de red.
    • Trabajo con autenticación (JWT, OAuth).
  • WebSockets y comunicación en tiempo real
    • Introducción a WebSockets en React Native.
    • Desarrollo de funciones de chat o notificaciones en tiempo real mediante conexiones WebSocket.
    • Gestión de conexiones persistentes y actualizaciones de datos.

Semana 5: Técnicas avanzadas de persistencia de datos

  • Core Data y SQLite (iOS)
    • Relaciones avanzadas de Core Data, consultas y búsquedas.
    • Uso de SQLite directamente para aplicaciones iOS y gestión de conexiones a la base de datos.
    • Manejo eficiente de datos y optimización.
  • Room Persistence y SQLite (Android)
    • Relaciones avanzadas de la base de datos Room y consultas.
    • Gestión de grandes conjuntos de datos y optimización del rendimiento de la base de datos.
    • Uso de ProGuard para proteger las estructuras de la base de datos.
  • Firebase para almacenamiento en la nube (iOS y Android)
    • Integración con Firebase para la gestión de bases de datos en tiempo real.
    • Mejores prácticas para sincronizar datos locales y en la nube.

Semana 6: Gestión avanzada del estado en React Native

  • Redux para la gestión del estado
    • Conceptos avanzados de Redux: middlewares, Thunks y Sagas.
    • Optimización de Redux para rendimiento y escalabilidad.
  • Recoil para la gestión del estado
    • Introducción a Recoil: una alternativa más flexible a Redux.
    • Gestión del estado a gran escala a través de componentes.
    • Actualizaciones de estado eficientes y gestión de estado atómico.

Semana 7: Animaciones avanzadas en iOS y Android

  • iOS (Swift)
    • Core Animation: animación de vistas, capas y transiciones.
    • UIKit Dynamics: creación de animaciones basadas en física.
    • Transiciones y animaciones personalizadas entre controladores de vista.
  • Android (Kotlin)
    • MotionLayout para crear animaciones complejas.
    • TransitionManager y transiciones de elementos compartidos.
    • Animaciones de propiedades para escalar, rotar y cambiar la opacidad de las vistas.

Semana 8: Animaciones y UI/UX en React Native

  • Animaciones en React Native
    • Uso de la API Animated y Reanimated para animaciones complejas.
    • Implementación de gestos e interacciones usando React Native Gesture Handler.
    • Mejores prácticas para animaciones con buen rendimiento en React Native.
  • Creación de componentes de interfaz de usuario (UI) personalizados
    • Construcción de componentes reutilizables y personalizables en React Native.
    • Implementación de diseños responsivos con consultas multimedia (media queries) y flexbox.

Semana 9: Integración de módulos nativos y características del dispositivo

  • Acceso a características nativas del dispositivo
    • Uso avanzado de la cámara, geolocalización, Bluetooth y sensores.
    • Creación de módulos nativos en Swift y Kotlin para su integración con React Native.
    • Integración de ARKit para realidad aumentada en iOS.
    • Integración de CameraX y ARCore para realidad aumentada en Android.
  • Bridge de React Native y módulos nativos
    • Construcción de módulos nativos personalizados para integrar funcionalidad específica de la plataforma.
    • Creación de puentes Java y Swift para aplicaciones de React Native.
    • Mejores prácticas para gestionar el código nativo en un entorno multiplataforma.

Semana 10: Pruebas y depuración de aplicaciones avanzadas

  • Pruebas en iOS (Swift)
    • Escritura de pruebas unitarias con XCTest y pruebas de interfaz de usuario para iOS.
    • Uso de Xcode Instruments para perfilado de rendimiento y detección de fugas de memoria.
    • Flujos de trabajo de integración continua y pruebas con Jenkins y CircleCI.
  • Pruebas en Android (Kotlin)
    • Pruebas avanzadas con JUnit y Espresso para aplicaciones Android.
    • Perfilado del rendimiento e identificación de cuellos de botella utilizando Android Profiler.
    • Uso de Firebase Test Lab para pruebas automatizadas en múltiples dispositivos.
  • Pruebas en React Native
    • Pruebas unitarias con Jest y pruebas de componentes con Enzyme.
    • Pruebas de extremo a extremo (E2E) utilizando Detox y configuraciones de prueba automatizadas.
    • Perfilado del rendimiento usando React Native Debugger y Flipper.

Semana 11: Despliegue de la aplicación e integración continua

  • Despliegue en App Store (iOS)
    • Preparación de su aplicación para la entrega: certificados de la App Store, perfiles de aprovisionamiento y pruebas beta con TestFlight.
    • Uso de Fastlane para automatizar el despliegue de aplicaciones iOS.
    • Gestión de App Store Connect y configuración de procesos de revisión de la aplicación.
  • Despliegue en Google Play (Android)
    • Preparación del APK y su firma para la entrega a Google Play.
    • Automatización del despliegue de aplicaciones Android con Fastlane y Gradle.
    • Uso de Google Play Console para la revisión de la aplicación y pruebas beta.
  • Configuración de pipelines de CI/CD
    • Configuración de Jenkins, GitHub Actions o CircleCI para pipelines automatizados de compilación y despliegue.
    • Uso de Fastlane para flujos de trabajo de CI/CD tanto para iOS como para Android.
    • Mejores prácticas para gestionar versionado, números de compilación y canales de lanzamiento.

Semana 12: Proyecto final

  • Desarrollo del proyecto final
    • Diseñar y desarrollar una aplicación completamente funcional que incorpore las características avanzadas aprendidas durante el curso.
    • Implementar interfaz/experiencia de usuario (UI/UX) personalizada, animaciones avanzadas, gestión del estado, integración de módulos nativos y comunicación de API en tiempo real.
    • Optimizar la aplicación para el rendimiento y desplegarla en la App Store y Google Play.

Resumen y próximos pasos

Requerimientos

  • Sólida comprensión de los conceptos de programación, particularmente en Swift, Kotlin y JavaScript.
  • Experiencia previa desarrollando aplicaciones básicas de iOS, Android o React Native.
  • Conocimiento de patrones de diseño como MVC o MVVM y experiencia con la gestión básica del estado.

Público objetivo

  • Desarrolladores móviles.
  • Programadores.
 420 Horas

Número de participantes


Precio por participante

Testimonios (4)

Próximos cursos

Categorías Relacionadas