Solicitar información

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
 420 Horas

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.
Inversión

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)

Próximos cursos

Categorías Relacionadas