Programa 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)
Los ejercicios, la aplicación práctica de los temas
Leonardo Perez Tays - INSTITUTO MEXICANO DEL PETROLEO
Curso - Advanced .NET MAUI
Edward es un facilitador increíble
Zibusiso Ncube - Agricatural Research Council
Curso - Ionic 4 and Angular for Developers
Traducción Automática
Miguel's knowledge of the subject was extensive. He made the training easy to understand and the flow was balanced; adding on to each section with new features as needed. He covered everything that was asked and answered each and every question thoroughly. It was a very pleasant experience.
Paul Coaton - SEMPCheck Services
Curso - Flutter Development Bootcamp with Dart
The trainer was enthusiastic, kind, and loved the topic
Isaac Murphy - Royal New Zealand Airforce
Curso - Build Native iOS and Android Apps with Flutter
Learning the steps required to implement the MVVM model.