Temario del curso
Introducción
Semana 1: Conceptos avanzados de Swift, Kotlin y JavaScript
- Swift (iOS)
- Funciones avanzadas: closures, captura de valores, funciones de orden superior.
- Programación orientada a protocolos y genéricos.
- Gestión de memoria con ARC (Automatic Reference Counting).
- Kotlin (Android)
- Funciones de extensión y biblioteca estándar de Kotlin.
- Corutinas para programación asíncrona.
- Clases selladas, enums 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 para Aplicaciones Móviles
- MVVM (Model-View-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 hooks.
- Mejores prácticas para gestionar el estado y las props a gran escala.
- Uso de la API de Contexto de React 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.
- Uso de Codable y análisis de JSON.
- Mejores prácticas para la comunicación segura de APIs (pinning 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.
- Construcción de características de chat o notificaciones en tiempo real con 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, búsquedas y consultas en Core Data.
- Uso de SQLite directamente para aplicaciones iOS y gestión de conexiones a la base de datos.
- Manejo eficiente de datos y optimización.
- Persistencia Room y SQLite (Android)
- Relaciones avanzadas y consultas en la base de datos Room.
- Gestión de conjuntos de datos grandes y optimización del rendimiento de la base de datos.
- Uso de ProGuard para asegurar 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 eficientes del estado y gestión atómica del estado.
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 escalado, rotación y cambios de opacidad en vistas.
Semana 8: Animaciones e Interfaz de Usuario/Experiencia de Usuario (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 eficientes en React Native.
- Creación de Componentes de Interfaz de Usuario Personalizados
- Construcción de componentes reutilizables y personalizables en React Native.
- Implementación de diseños receptivos con consultas multimedia (media queries) y flexbox.
Semana 9: Integración de Módulos Nativos y Características del Dispositivo
- Acceso a Funciones 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 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.
- Puente (Bridge) y Módulos Nativos en React Native
- Construcción de módulos nativos personalizados para integrar funcionalidades específicas de la plataforma.
- Creación de puentes Java y Swift para aplicaciones de React Native.
- Mejores prácticas para gestionar código nativo en un entorno multiplataforma.
Semana 10: Pruebas y Depuración de Aplicaciones Avanzadas
- Pruebas en iOS (Swift)
- Escribir pruebas unitarias con XCTest y pruebas de interfaz de usuario para iOS.
- Uso de Xcode Instruments para perfilamiento 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 de JUnit y Espresso para aplicaciones Android.
- Perfilamiento del rendimiento e identificación de cuellos de botella usando 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 usando Detox y configuraciones automatizadas de pruebas.
- Perfilamiento del rendimiento usando React Native Debugger y Flipper.
Semana 11: Despliegue de Aplicaciones e Integración Continua
- Despliegue en la App Store (iOS)
- Preparación de su aplicación para la presentación: 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 aplicaciones.
- Despliegue en Google Play (Android)
- Preparación del APK y firma para la presentación a Google Play.
- Automatización del despliegue de aplicaciones Android con Fastlane y Gradle.
- Uso de Google Play Console para revisión de aplicaciones y pruebas beta.
- Configuración de Pipelines CI/CD
- Configuración de Jenkins, GitHub Actions o CircleCI para pipelines automatizados de construcción y despliegue.
- Uso de Fastlane para flujos de trabajo CI/CD tanto en iOS como en Android.
- Mejores prácticas para manejar versiones, números de compilación y canales de lanzamiento.
Semana 12: Proyecto Final
- Desarrollo del Proyecto Final
- Diseñar y desarrollar una aplicación totalmente funcional que incorpore las características avanzadas aprendidas a lo largo del curso.
- Implementar interfaz de usuario/experiencia de usuario (UI/UX) personalizada, animaciones avanzadas, gestión del estado, integración de módulos nativos y comunicación con APIs en tiempo real.
- Optimizar la aplicación para el rendimiento e implementarla en la App Store y Google Play.
Resumen y Próximos Pasos
Requerimientos
- Comprensión sólida de los conceptos de programación, particularmente en Swift, Kotlin y JavaScript.
- Experiencia previa creando aplicaciones básicas en iOS, Android o React Native.
- Conocimiento de patrones de diseño como MVC o MVVM y experiencia con gestión básica del estado.
Público Objetivo
- Desarrolladores móviles.
- Programadores.
Reseñas (4)
Todo está bien.
Adrian Rybka - SEOyon
Curso - Flutter Development Bootcamp with Dart
Traducción Automática
Información adicional muy útil
Grzegorz - Comp S.A.
Curso - BLoC Pattern
Traducción Automática
Desarrollando la aplicación de autenticación de usuario y la actividad Kahoot (me aseguré de absorber las lecciones de capacitación :) ¡y es divertido!)
Jhoanne - Pag-IBIG Fund
Curso - .NET MAUI Fundamentals
Traducción Automática
La temática en general, la dinámica del grupo,