Temario del curso
Introducción
Semana 1: Conceptos avanzados de Swift, Kotlin y JavaScript
- Swift (iOS)
- Funciones avanzadas: clausuras, captura de valores y funciones de orden superior
- Programación orientada a protocolos y genéricos
- Gestión de memoria mediante ARC (Conteo automático de referencias)
- Kotlin (Android)
- Funciones de extensión y la librería estándar de Kotlin
- Corrutinas 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 librerías externas en React Native
Semana 2: Arquitectura y patrones de diseño para apps móviles
- MVVM (Modelo-Vista-Modelador) para iOS y Android
- Comprensión de la arquitectura MVVM en entornos Swift e iOS y Kotlin e Android.
- Implementación de Modeladores de Vista mediante LiveData (Android) y Combine (iOS), además del seguimiento de datos correspondientes.
- Programación reactiva utilizando RxSwift y RxKotlin
- Arquitectura basada en componentes en React Native
- Comprensión de los ciclos de vida de los componentes y sus “hooks”.
- Buenas prácticas para gestionar el estado y las propiedades a gran escala.
- Empleo de la API Context de React para la gestión global del estado.
Semana 3: Conceptos avanzados de red
- Redes en iOS (Swift)
- Trabajo con URLSession para realizar solicitudes de red personalizadas.
- Llamadas avanzadas a APIs REST y manejo de errores.
- Trabajo con Codable y el análisis de datos JSON.
- Buenas prácticas para garantizar la seguridad en las comunicaciones con la API (bloqueo SSL, OAuth).
- Redes en Android (Kotlin)
- Retrofit como herramienta para ejecutar llamadas a APIs y procesar sus respuestas.
- Manejo avanzado de errores y mecanismos de reintentos.
- Uso de Gson o Moshi para el análisis de datos JSON.
- Aseguramiento de la comunicación mediante HTTPS y autenticación OAuth.
Semana 4: Redes en React Native
- Integración de APIs con Axios y Fetch
- Técnicas avanzadas para la integración mediante Axios y Fetch.
- Estrategias de manejo de errores y reintentos en solicitudes de red.
- Aplicación práctica del sistema de autenticación JWT u OAuth.
- WebSockets y comunicación en tiempo real
- Introducción a las conexiones WebSocket en React Native.
- Implementación de funcionalidades como chats o notificaciones en tiempo real mediante dichas conexiones.
- Gestión eficiente de la persistencia y actualización de datos.
Semana 5: Técnicas avanzadas para la persistencia de datos
- Core Data y SQLite (iOS)
- Relaciones, búsquedas y consultas complejas en Core Data.
- Trabajo directo con SQLite en apps iOS y administración adecuada de las conexiones a la base de datos.
- Estrategias para un manejo óptimo de los datos.
- Room Persistence y SQLite (Android)
- Relaciones, consultas y gestión avanzada de bases de datos en Room.
- Manejo eficaz de grandes volúmenes de información y mejora del rendimiento global.
- Uso de ProGuard como herramienta para asegurar la estructura de las bases de datos.
- Firebase para el almacenamiento en la nube (iOS y Android)
- Integración del servicio Firebase para gestionar bases de datos en tiempo real.
- Prácticas recomendadas a fin de sincronizar correctamente los datos locales con los del entorno en la nube.
Semana 6: Gestión avanzada del estado en React Native
- Redux para el control del estado
- Conceptos de Redux avanzados: middlewares, Thunks y Sagas.
- Estrategias para optimizar el uso de Redux en términos de rendimiento y escalabilidad.
- Recoil como alternativa al manejo del estado
- Introducción a Recoil: una opción más flexible frente a Redux.
- Control eficiente del estado en aplicaciones de gran complejidad mediante este entorno.
- Técnicas para actualizar el estado de forma atómica y sin contratiempos.
Semana 7: Animaciones avanzadas en iOS y Android
- iOS (Swift)
- Uso de Core Animation para animar vistas, capas y transiciones.
- Incorporación de efectos físicos mediante UIKit Dynamics.
- Diseño de transiciones personalizadas entre controladores de vista.
- Android (Kotlin)
- Trabajo con MotionLayout para generar animaciones complejas.
- Mecanismos como TransitionManager y la gestión de elementos compartidos en las transiciones.
- Animaciones de propiedades destinadas al cambio de escala, rotación o opacidad de los elementos visuales.
Semana 8: Animaciones e interfaces en React Native
- Animaciones en React Native
- Empleo de la API Animated y Reanimated para diseñar animaciones avanzadas.
- Gestión de interacciones y gestos mediante el paquete React Native Gesture Handler.
- Buenas prácticas destinadas a lograr animaciones fluidas sin perjudicar el rendimiento.
- Creación de componentes visuales personalizados
- Diseño y elaboración de elementos reutilizables y adaptativos en React Native.
- Aplicación del sistema flexbox y consultas de medios para lograr interfaces responsivas.
Semana 9: Integración de módulos nativos y funcionalidades del dispositivo
- Acceso a funcionalidades propias del equipo
- Uso avanzado de la cámara, geolocalización, Bluetooth y sensores en apps.
- Creación de módulos nativos con Swift o Kotlin para su inclusión en React Native.
- Aplicación práctica de ARKit como herramienta para la realidad aumentada en dispositivos iOS.
- Implementación de CameraX y ARCore para lograr efectos similares en Android.
- Puentes nativos e integración mediante React Native
- Diseño de módulos propios destinados a ampliar la funcionalidad del entorno multiplataforma.
- Creación de puentes Java y Swift con el fin de articular elementos nativos y React Native.
- Prácticas recomendadas para organizar y mantener código propio en entornos multiprogramáticos.
Semana 10: Pruebas y depuración de aplicaciones avanzadas
- Pruebas en iOS (Swift)
- Redacción de pruebas unitarias con XCTest y simulaciones de interfaz mediante UI tests.
- Uso de Xcode Instruments para identificar cuellos de botella de rendimiento o fugas de memoria.
- Implementación de flujos continuos de integración y pruebas con Jenkins y CircleCI.
- Pruebas en Android (Kotlin)
- Aplicación de JUnit y Espresso para evaluar la calidad del software móvil bajo diversas condiciones.
- Evaluaciones detalladas mediante el profiler integrado, que facilita identificar cuellos de botella en rendimiento.
- Uso de Firebase Test Lab como plataforma para ejecutar pruebas automatizadas en múltiples dispositivos simultáneamente.
- Pruebas en React Native
- Realización de evaluaciones unitarias con Jest y verificación de componentes mediante Enzyme.
- Ejecución de pruebas end-to-end utilizando Detox, con configuraciones automatizadas específicas.
- Valoración del desempeño aplicativo empleando React Native Debugger y Flipper.
Semana 11: Despliegue de aplicaciones e integración continua
- Despliegue en App Store (iOS)
- Preparación integral para su presentación oficial: gestión de certificados, perfiles de aprovisionamiento y pruebas mediante TestFlight.
- Uso de Fastlane con el objetivo de automatizar todas las etapas del despliegue móvil en iOS.
- Configuración eficiente de los entornos App Store Connect junto con los procedimientos necesarios para la revisión por parte del equipo editorial.
- Despliegue en Google Play (Android)
- Generación y preparación de archivos APK para su incorporación oficial al mercado Android.
- Aplicación de mecanismos automatizados mediante Fastlane y Gradle a fin de agilizar la distribución del software móvil.
- Configuración de procesos de validación y pruebas con el servicio de Google Play Console.
- Implementación eficaz de flujos CI/CD
- Ajuste específico de Jenkins, GitHub Actions o CircleCI orientado a la generación y despliegue continuo de versiones.
- Utilización estratégica de Fastlane para abarcar ambos entornos: iOS y Android.
- Orientaciones claras respecto a la numeración, control de versiones y diversas variantes de distribución.
Semana 12: Proyecto final
- Elaboración del proyecto concluyente
- Diseño y construcción de una aplicación funcional que incluya todos los conceptos avanzados adquiridos durante el curso.
- Incorporación de interfaces personalizadas, animaciones dinámicas, controles de estado complejos, módulos propios e interacciones en tiempo real con servidores.
- Optimación exhaustiva del producto terminado para después proceder a su lanzamiento en App Store y Google Play.
Resumen final y recomendaciones posteriores
Requerimientos
- Conocimientos sólidos de conceptos de programación, especialmente en Swift, Kotlin y JavaScript
- Experiencia previa en el desarrollo básico de aplicaciones para iOS, Android o React Native
- Familiaridad con patrones de diseño como MVC o MVVM, así como experiencia en la gestión básica del estado
Público objetivo
- Desarrolladores móviles
- Programadores
Formación Corporativa a Medida
Soluciones de formación diseñadas exclusivamente para empresas.
- Contenido personalizado: Adaptamos el temario y los ejercicios prácticos a los objetivos y necesidades reales del proyecto.
- Calendario flexible: Fechas y horarios adaptados a la agenda de su equipo.
- Modalidad: Online (en directo), In-company (en sus oficinas) o Híbrida.
Precio por grupo privado (formación online) desde 7250 € + IVA*
Contáctenos para obtener un presupuesto exacto y conocer nuestras promociones actuales
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,