Temario del curso
Introducción
Semana 1: Conceptos avanzados Swift, Kotlin y Java del guión
- Swift (iOS)- Funciones avanzadas: Cierres, captura de valores, funciones de orden superior
- Programación orientada a protocolos y genéricos
- Gestión de memoria con ARC (Conteo Automático de Referencias)
 
- Kotlin (Android)- Funciones de extensión y Kotlin Biblioteca estándar
- Corrutinas para programación asincrónica
- Clases selladas, enumeraciones y control avanzado de errores
 
- Java Script (React nativo)- Funciones avanzadas de ES6+: Desestructuración, asíncrono/espera, promesas
- Conceptos de programación funcional en JavaScript
- Trabajar con bibliotecas de terceros en React Nativo
 
Semana 2: Arquitectura de aplicaciones móviles y Design Patterns
- MVVM (Model-View-ViewModel) para iOS y Android- Descripció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)
- Reactprogramación iva con RxSwift y RxKotlin
 
- Arquitectura basada en componentes en React nativo- Descripción de los ciclos de vida y los ganchos de los componentes
- Prácticas recomendadas para administrar el estado y las propiedades a escala
- Uso de React Context API para la administración de estado global
 
Semana 3: Conceptos avanzados Networking
- Networking En iOS (Swift)- Trabajar con URLSession para solicitudes de red personalizadas
- Llamadas a la API de REST avanzadas y control de errores
- Trabajar con análisis sintáctico de JSON y codificable
- Prácticas recomendadas para una comunicación segura con la API (anclaje SSL, OAuth)
 
- Networking En Android (Kotlin)- Actualización para realizar llamadas a la API y manejar respuestas
- Mecanismos avanzados de control de errores de API y reintentos
- Uso de Gson o Moshi para el análisis de JSON
- Comunicación segura mediante autenticación HTTPS y OAuth
 
Semana 4: Networking en React Nativo
- Integración de API con Axios y Fetch- Integración avanzada de API con Axios y Fetch
- Estrategias de control de errores y reintentos en solicitudes de red
- Trabajar con autenticación (JWT, OAuth)
 
- WebSockets y en tiempo real Communication- Introducción a WebSockets en React Nativo
- Creación de funciones de chat o notificación en tiempo real con conexiones WebSocket
- Administración de conexiones persistentes y actualizaciones de datos
 
Semana 5: Técnicas avanzadas de persistencia de datos
- Datos básicos y SQLite (iOS)- Relaciones, recuperación y consultas avanzadas de datos principales
- Usar SQLite directamente para iOS aplicaciones y administrar conexiones de bases de datos
- Manejo eficiente y optimización de datos
 
- Persistencia de la habitación y SQLite (Android)- Relaciones y consultas avanzadas de la base de datos de salas
- Administración de grandes conjuntos de datos y optimización del rendimiento de la base de datos
- Uso de ProGuard para proteger las estructuras de las bases 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
- Prácticas recomendadas para sincronizar datos locales y en la nube
 
Semana 6: Estado Avanzado Management en React Nativo
- Redux para el Estado Management- Conceptos avanzados Redux: Middlewares, Thunks y Sagas
- Optimización Redux del rendimiento y la escalabilidad
 
- Retroceso para el estado Management- Introducción a Recoil: Una alternativa más flexible a Redux
- Manejo de la administración de estado a gran escala en todos los componentes
- Actualizaciones de estado eficientes y gestión de estados atómicos
 
Semana 7: Avanzado Animations en iOS y Android
- iOS (Swift)- Núcleo Animation: Animación de vistas, capas y transiciones
- UIKit Dynamics: Creación de animaciones basadas en la 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 el escalado de vista, la rotación y los cambios alfa
 
Semana 8: Animations y UI/UX en React nativo
- React Nativo Animations- Uso de la API animada y reanimada para animaciones complejas
- Implementación de gestos e interacciones mediante React Native Gesture Handler
- Prácticas recomendadas para animaciones de alto rendimiento en React Nativo
 
- Creación de componentes de interfaz de usuario personalizados- Creación de componentes reutilizables y personalizables en React Nativo
- Implementación de diseños responsivos con consultas de medios y flexbox
 
Semana 9: Integración de módulos nativos y funciones de dispositivos
- Accessing Características nativas del dispositivo- Uso avanzado de la cámara, la geolocalización, el Bluetooth y los sensores
- Creación de módulos nativos en Swift y Kotlin para React Integración nativa
- Integración de ARKit para realidad aumentada en iOS
- Integración de CameraX y ARCore para realidad aumentada en Android
 
- React Puente nativo y módulos nativos- Creación de módulos nativos personalizados para integrarlos con la funcionalidad específica de la plataforma
- Creación de puentes Java y Swift para React aplicaciones nativas
- Prácticas recomendadas para administrar código nativo en un entorno multiplataforma
 
Semana 10: Prueba 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 la generación de perfiles de rendimiento y pérdidas de memoria
- Integración continua y flujos de trabajo de prueba con Jenkins y CircleCI
 
- Pruebas en Android (Kotlin)- Pruebas avanzadas de JUnit y Espresso para Android aplicaciones
- Generación de perfiles de rendimiento e identificación de cuellos de botella mediante Android Profiler
- Uso de Firebase Test Lab para pruebas automatizadas en múltiples dispositivos
 
- React Pruebas nativas- Pruebas unitarias con Jest y pruebas de componentes con Enzyme
- Pruebas de extremo a extremo con Detox y configuraciones de pruebas automatizadas
- Generación de perfiles de rendimiento mediante React Native Debugger y Flipper
 
Semana 11: Implementación de aplicaciones e integración continua
- Implementación de App Store (iOS)- Preparación de la aplicación para el envío: certificados de App Store, perfiles de aprovisionamiento y pruebas beta de TestFlight
- Uso de Fastlane para automatizar la implementación de aplicaciones iOS
- Administrar App Store Connect y configurar los procesos de revisión de aplicaciones
 
- GoImplementación de ogle Play (Android)- Preparar el APK y firmarlo para el envío de Google Play
- Automatización de la implementación de aplicaciones Android con Fastlane y Gradle
- Uso de Google Play Console para la revisión de aplicaciones y las pruebas beta
 
- Configuración de canalizaciones de CI/CD- Configuración de Jenkins, GitHub Acciones o CircleCI para canalizaciones de compilación e implementación automatizadas
- Uso de Fastlane para flujos de trabajo de CI/CD iOS y Android
- Procedimientos recomendados para controlar el control de versiones, los números de compilación y los canales de versión
 
Semana 12: Proyecto final
- Desarrollo del Proyecto Fin de Carrera- Diseñar y desarrollar una aplicación completamente funcional que incorpore características avanzadas aprendidas a lo largo del curso.
- Implemente UI/UX personalizada, animaciones avanzadas, administración de estados, integración de módulos nativos y comunicación API en tiempo real.
- Optimice el rendimiento de la aplicación e impleméntela en 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 en la creación de aplicaciones nativas básicas iOS, Android o React
- Conocimiento de patrones de diseño como MVC o MVVM y experiencia con la gestión básica del estado
Audiencia
- Desarrolladores móviles
- Programadores
Testimonios (5)
Informaciones adicionales muy útiles
Grzegorz - Comp S.A.
Curso - BLoC Pattern
Traducción Automática
Edward es un facilitador increíble
Zibusiso Ncube - Agricatural Research Council
Curso - Ionic 4 and Angular for Developers
Traducción Automática
Tal vez más ejercicios podrían ser mejores para aprender, pero el tiempo era demasiado pequeño
Gianpiero Arico' - Urmet Spa
Curso - Embedded Linux Systems Architecture
Traducción Automática
El conocimiento de Miguel sobre el tema era extenso. Hizo que la formación fuera fácil de entender y el ritmo fue equilibrado, añadiendo nuevas características a cada sección cuando era necesario. Cubrió todo lo que se le pidió y respondió cada una de las preguntas de manera exhaustiva. Fue una experiencia muy agradable.
Paul Coaton - SEMPCheck Services
Curso - Flutter Development Bootcamp with Dart
Traducción Automática
El entrenador fue entusiasta, amable y apasionado por el tema
Isaac Murphy - Royal New Zealand Airforce
Curso - Build Native iOS and Android Apps with Flutter
Traducción Automática
