Temario del curso
Introducción
Semana 1: Panorama general del Desarrollo Móvil
- Ecosistema y Plataformas Móviles
- Panorama general de los sistemas operativos móviles (iOS y Android).
- Diferencias clave entre el desarrollo para iOS, Android y multiplataforma.
- Principales tiendas de aplicaciones (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.
- Panorama 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 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 la CLI de React Native y Expo.
- Ejecución de aplicaciones básicas "Hello World" en simuladores y emuladores.
Semana 2: Introducción a Swift, Kotlin y JavaScript
- Programación Swift para iOS
- Variables, constantes y tipos de datos en Swift.
- Estructuras 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 Kotlin para Android
- Variables, tipos de datos y funciones en Kotlin.
- Comprensión de la seguridad frente a nulos 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 ES6: funciones flecha, literales de plantilla y desestructuración.
- Escribir y ejecutar programas básicos de JavaScript en React Native usando Expo.
Semana 3: Diseño de Interfaz de Usuario en iOS
- Elementos de UI en iOS
- Introducción a UIKit y SwiftUI.
- Agregación y personalización de elementos de interfaz como botones, etiquetas y campos de texto.
- Uso del Interface Builder para diseñar la interfaz de usuario.
- Trabajo con Storyboards y diseño de interfaces de múltiples pantallas.
- Auto Layout y Restricciones
- Comprensión del sistema Auto Layout.
- Uso de restricciones para diseños adaptables en diferentes tamaños de pantalla.
- Creación de vistas pila (stack views) y ajuste dinámico de elementos de la interfaz.
- Fundamentos de SwiftUI
- Introducción al diseño de interfaces declarativas en SwiftUI.
- Construcción de componentes simples de UI utilizando SwiftUI.
Semana 4: Diseño de Interfaz de Usuario en Android
- Diseños XML en Android
- Introducción al diseño de diseños basados en XML.
- Trabajo con diseños comunes: LinearLayout, RelativeLayout, ConstraintLayout.
- Agregación y personalización de elementos de interfaz: botones, vistas de texto, vistas de imagen.
- Uso de ConstraintLayout para diseños adaptables y dinámicos.
- Material Design
- Integración de principios de Material Design (colores, iconos, tipografía).
- Uso de componentes Material (botones, botones de acción flotantes, tarjetas).
- Implementación de temas y estilos para aplicaciones Android.
Semana 5: Diseño de Interfaz de Usuario en React Native
- Diseño de Layouts Flexbox en React Native
- Comprensión de Flexbox para el diseño de layouts adaptables.
- Creación de diseños basados en columnas y filas.
- Estilizado de componentes UI con propiedades 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 persistencia simple de datos.
- Introducción a Core Data para almacenamiento local de datos complejos.
- Obtención de datos desde APIs usando URLSession.
- Análisis de datos JSON y visualización en la interfaz de usuario.
- Manejo de Datos en Android
- Uso de SharedPreferences para almacenar pequeñas cantidades de datos.
- Introducción a SQLite y Room Persistence Library para la gestión de bases de datos.
- Obtención de datos desde APIs usando Retrofit.
- Análisis de JSON y manejo de respuestas 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 del componente. - Pasaje de datos entre componentes padre e hijo a través de 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 local de datos 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 transiciones entre controladores de vista.
- Pasaje 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.
- Pasaje de datos entre Activities usando Bundles.
- Creación de un Navigation Drawer y BottomNavigationView.
- Implementación de fragments para una navegación flexible de la interfaz.
Semana 9: Navegación en React Native
- Fundamentos de React Navigation
- Instalación y configuración de React Navigation.
- Uso de Stack Navigator para transiciones entre pantallas.
- Implementación de Tab Navigator y Drawer Navigator para una navegación compleja.
- Pasaje de parámetros entre pantallas y gestión del estado de navegación.
Semana 10: Características Avanzadas
- Funciones Avanzadas en iOS:
- Localización Core y mapas
- Acceso a la ubicación del dispositivo con Core Location.
- Visualización de mapas usando MapKit.
- Gestión de geolocalización y seguimiento de la ubicación del usuario.
- Cámara y multimedia
- 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.
- Localización Core y mapas
- Funciones Avanzadas en Android
- Ubicación y mapas
- Uso de la API de Google Maps para mostrar mapas y la ubicación del usuario.
- Acceso a datos GPS y gestión de geolocalización.
- Cámara y multimedia
- Uso de CameraX para capturar fotos y gestionar permisos de cámara.
- Visualización de imágenes y gestión del almacenamiento multimedia.
- Ubicación y mapas
- Funciones Avanzadas en React Native
- Mapas en React Native
- Integración de mapas usando
react-native-maps. - Gestión 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 librería React Native Camera para capturar fotos.
- Acceso al almacenamiento multimedia del dispositivo y gestión de archivos.
- Mapas en React Native
Semana 11: Depuración y Pruebas
- Depuración y Pruebas en iOS
- Uso del depurador de Xcode
- Configuración de puntos de interrupción e inspección de variables en Xcode.
- Uso de la consola para 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 framework 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 Android con puntos de interrupción.
- Pruebas unitarias en Android
- Escribir pruebas unitarias usando JUnit.
- Prueba de componentes 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 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.
- Prueba de componentes de React Native y gestión de casos de prueba.
- Herramientas de depuración de React Native
Semana 12: Despliegue de la Aplicación y Proyecto Final
- Despliegue y Distribución
- Envío a la App Store de iOS
- Preparación de tu aplicación para la distribución (iconos, certificados, perfiles de aprovisionamiento).
- Uso de App Store Connect para enviar la aplicación a revisión.
- Uso de TestFlight para pruebas beta.
- Envío a Google Play Store para Android
- Preparación del APK y firma de la aplicación para la distribución.
- Uso de Google Play Console para el envío y seguimiento de la aplicación.
- Comprensión de las políticas y pautas de Google Play.
- Envío a la App Store de iOS
- Desarrollo del Proyecto Final
- Desarrollo del proyecto final
- Construcción de una aplicación completamente funcional a tu elección.
- Incorporación de funciones avanzadas como llamadas API, 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
- Conocimiento básico de los conceptos de programación.
- Conocimientos básicos de JavaScript.
Público Objetivo
- Desarrolladores móviles.
- Programadores.
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,