Temario del curso
Introducción
Semana 1: Visión general del desarrollo móvil
- Ecosistema y plataformas móviles
- Visión general de los sistemas operativos móviles (iOS y Android)
- Principales diferencias entre el desarrollo para iOS, Android y multiplataforma
- Tiendas de aplicaciones populares (Apple App Store, Google Play Store)
- Introducción al desarrollo nativo, híbrido y multiplataforma
- Nativo vs. Híbrido vs. Multiplataforma
- Ventajas y desafíos de cada método de desarrollo
- Visión general de Swift (para iOS), Kotlin (para Android) y React Native (multiplataforma)
- Cómo se traduce el código a las plataformas móviles (JavaScript a código nativo en React Native)
- Fundamentos de la programación
- Introducción a los conceptos de programación (variables, tipos de datos, funciones, flujo de control)
- Comparación de la sintaxis de Swift, Kotlin y JavaScript
- Escribir programas simples usando Swift, Kotlin y JavaScript
- Configuración de entornos de desarrollo
- Instalación de Xcode y Android Studio
- Configuración de React Native CLI y Expo
- Ejecución de aplicaciones básicas de "Hola Mundo" en simuladores y emuladores
Semana 2: Introducción a Swift, Kotlin y JavaScript
- Programación en Swift para iOS
- Variables, constantes y tipos de datos en Swift
- Declaraciones de flujo de control (
if,switch, bucles) - Funciones y parámetros en Swift
- Introducción a la interfaz de Xcode y Swift Playgrounds
- Programación en Kotlin para Android
- Variables, tipos de datos y funciones en Kotlin
- Comprensión de la seguridad frente a valores nulos (null safety) de Kotlin
- Estructuras de flujo de control y bucles
- Introducción a la interfaz de Android Studio y Kotlin Playground
- JavaScript para React Native
- Variables, constantes y flujo de control en JavaScript
- Características de ES6: funciones de flecha, literales de plantillas y desestructuración
- Escribir y ejecutar programas básicos de JavaScript en React Native usando Expo
Semana 3: Diseño de la interfaz de usuario en iOS
- Elementos de UI en iOS
- Introducción a UIKit y SwiftUI
- Añadir y personalizar elementos de UI como botones, etiquetas y campos de texto
- Uso de Interface Builder para diseñar la UI
- Trabajo con Storyboards y diseño de interfaces de usuario de múltiples pantallas
- Auto Layout y restricciones
- Comprensión del sistema Auto Layout
- Uso de restricciones para diseños responsivos en diferentes tamaños de pantalla
- Creación de vistas apiladas (stack views) y ajuste dinámico de elementos de UI
- Básicos de SwiftUI
- Introducción al diseño de interfaces declarativas en SwiftUI
- Construcción de componentes de UI simples utilizando SwiftUI
Semana 4: Diseño de la interfaz de usuario en Android
- Diseños XML en Android
- Introducción al diseño de interfaces basado en XML
- Trabajo con diseños comunes: LinearLayout, RelativeLayout, ConstraintLayout
- Añadir y personalizar elementos de UI: botones, vistas de texto, vistas de imagen
- Uso de ConstraintLayout para diseños responsivos y dinámicos
- Diseño Material
- Integración de principios de Material Design (colores, iconos, tipografía)
- Uso de componentes de Material (botones, botones de acción flotantes, tarjetas)
- Implementación de temas y estilos para aplicaciones de Android
Semana 5: Diseño de la interfaz de usuario en React Native
- Diseño Flexbox en React Native
- Comprensión de Flexbox para el diseño de interfaces responsivas
- Creación de diseños basados en columnas y filas
- Estilizado de componentes de UI con propiedades de Flexbox (justifyContent, alignItems, etc.)
- Componentes de React Native
- Trabajo con componentes principales como
Text,View,TextInputyButton - Creación de elementos de UI interactivos como formularios y botones
- Uso del componente
ScrollViewpara contenido dinámico
- Trabajo con componentes principales como
Semana 6: Manejo de datos en iOS y Android
- Manejo de datos en iOS
- Uso de UserDefaults para la persistencia simple de datos
- Introducción a Core Data para el almacenamiento local de datos complejos
- Obtención de datos de APIs usando URLSession
- Análisis de datos JSON y visualización en la UI
- Manejo de datos en Android
- Uso de SharedPreferences para almacenar pequeñas cantidades de datos
- Introducción a SQLite y la biblioteca de persistencia Room para la gestión de bases de datos
- Obtención de datos de APIs usando Retrofit
- Análisis de JSON y manejo de respuestas de API
Semana 7: Gestión de estado y APIs en React Native
- Estado y Props en React Native
- Gestión del flujo de datos dentro de los componentes de React Native
- Uso del hook
useStatepara gestionar el estado local de los componentes - Pasado de datos entre componentes padre e hijo mediante props
- Obtención de datos en React Native
- Uso de la Fetch API y Axios para realizar solicitudes HTTP
- Visualización de datos obtenidos en listas (usando
FlatList,SectionList) - Persistencia de datos localmente usando AsyncStorage en React Native
Semana 8: Navegación en iOS y Android
- Navegación en iOS
- Introducción a los controladores de navegación y gestión de múltiples pantallas
- Uso de segues para transitar entre controladores de vista
- Pasado de datos entre controladores de vista
- Implementación de TabBar y NavigationBar para una navegación estructurada
- Navegación en Android
- Trabajo con Activities e Intents para aplicaciones de múltiples pantallas
- Pasado de datos entre Activities usando Bundles
- Creación de un Navigation Drawer y BottomNavigationView
- Implementación de fragments para una navegación de UI flexible
Semana 9: Navegación en React Native
- Básicos de React Navigation
- Instalación y configuración de React Navigation
- Uso de Stack Navigator para transiciones de pantalla
- Implementación de Tab Navigator y Drawer Navigator para una navegación compleja
- Pasado de parámetros entre pantallas y gestión del estado de navegación
Semana 10: Funciones avanzadas
- Funciones avanzadas en iOS:
- Ubicación principal y mapas
- Acceso a la ubicación del dispositivo con Core Location
- Visualización de mapas usando MapKit
- Manejo de la geolocalización y el seguimiento de la ubicación del usuario
- Cámara y medios
- Acceso a la cámara del dispositivo y a la biblioteca de fotos
- Captura y visualización de imágenes con UIImagePickerController
- Almacenamiento y recuperación de archivos multimedia
- Ubicación principal y mapas
- Funciones avanzadas en Android
- Ubicación y mapas
- Uso de la API de Google Maps para visualizar mapas y la ubicación del usuario
- Acceso a datos GPS y manejo de la geolocalización
- Cámara y medios
- Uso de CameraX para capturar fotos y manejar permisos de cámara
- Visualización de imágenes y manejo del almacenamiento multimedia
- Ubicación y mapas
- Funciones avanzadas en React Native
- Mapas en React Native
- Integración de mapas usando
react-native-maps - Manejo de servicios basados en ubicación (geolocalización, mapeo de rutas)
- Integración de mapas usando
- Acceso a cámara y medios
- Uso de la biblioteca React Native Camera para capturar fotos
- Acceso al almacenamiento multimedia del dispositivo y manejo de archivos
- Mapas en React Native
Semana 11: Depuración y pruebas
- Depuración y pruebas en iOS
- Uso del depurador de Xcode
- Establecimiento de puntos de interrupción e inspección de variables en Xcode
- Uso de la consola para la depuración en tiempo real
- Problemas comunes de depuración y cómo resolverlos
- Pruebas unitarias en iOS
- Escribir y ejecutar pruebas unitarias usando el marco de trabajo XCTest
- Simulación de objetos (mocking) y pruebas de componentes de UI
- Uso del depurador de Xcode
- Depuración y pruebas en Android
- Uso de Logcat en Android Studio
- Registro y análisis de errores usando Logcat
- Depuración de aplicaciones de Android con puntos de interrupción
- Pruebas unitarias en Android
- Escribir pruebas unitarias usando JUnit
- Pruebas de componentes de UI de Android con Espresso
- Uso de Logcat en Android Studio
- Depuración y pruebas en React Native
- Herramientas de depuración de React Native
- Uso de Chrome DevTools y React Native Debugger para la depuración en tiempo real
- Registros de consola e inspección de solicitudes de red
- Pruebas unitarias en React Native
- Escribir pruebas unitarias usando Jest y Enzyme
- Pruebas de componentes de React Native y gestión de casos de prueba
- Herramientas de depuración de React Native
Semana 12: Despliegue de aplicaciones y Proyecto principal
- Despliegue y distribución
- Envío a la App Store de iOS
- Preparación de la aplicación para la distribución (iconos, certificados, perfiles de aprovisionamiento)
- Uso de App Store Connect para enviar la aplicación para revisión
- Uso de TestFlight para pruebas beta
- Envío a la Play Store de Android
- Preparación del APK y firma de la aplicación para la distribución
- Uso de la Google Play Console para el envío y seguimiento de la aplicación
- Comprensión de las políticas y directrices de la Play Store
- Envío a la App Store de iOS
- Desarrollo del proyecto principal (Capstone)
- Desarrollo del proyecto final
- Construcción de una aplicación totalmente funcional a elección
- Incorporación de funciones avanzadas como llamadas a APIs, navegación, medios y ubicación
- Presentación y demostración de la aplicación final a compañeros e instructores
- Desarrollo del proyecto final
Resumen y próximos pasos
Requerimientos
- Comprensión básica de los conceptos de programación
- Conocimientos básicos de JavaScript
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,