Programa del Curso
Introducción
Semana 1: Resumen de Mobile Development
- Ecosistema y plataformas móviles
- Descripción general de los sistemas operativos móviles (iOS y Android)
- Diferencias clave entre iOS, Android y el desarrollo 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
- Descripción general de Swift (para iOS), Kotlin (para Android) y React Nativo (multiplataforma)
- Cómo se traduce el código a las plataformas móviles (JavaScript a código nativo en React Nativo)
- Programming Fundamentos
- Introducción a los conceptos de programación (variables, tipos de datos, funciones, flujo de control)
- Comparación de la sintaxis del script Swift, Kotlin y Java
- 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 CLI nativa y Expo
- Ejecución de aplicaciones básicas de "Hola Mundo" en simuladores y emuladores
Semana 2: Introducción al guión Swift, Kotlin y Java
- Swift Programming para iOS
- Variables, constantes y tipos de datos en Swift
- Instrucciones de flujo de control (
if
,switch
, bucles) - Funciones y parámetros en Swift
- Introducción a la interfaz de Xcode y Swift Playgrounds
- Kotlin Programming para Android
- Variables, tipos de datos y funciones en Kotlin
- Descripción de la seguridad nula de Kotlin
- Controlar el flujo y las estructuras de bucle
- Introducción a la interfaz de Android Studio y Kotlin Playground
- Java Script para React nativo
- Variables, constantes y flujo de control en JavaScript
- Características de ES6: funciones de flecha, literales de plantilla y desestructuración
- Escribir y ejecutar programas básicos JavaScript en React Native usando Expo
Semana 3: iOS Diseño de la interfaz de usuario
- Interfaz de usuario Elements en iOS
- Introducción a UIKit y SwiftUI
- Agregar y personalizar elementos de la interfaz de usuario, como botones, etiquetas y campos de texto
- Uso de Interface Builder para diseñar la interfaz de usuario
- Trabajar con guiones gráficos y diseñar interfaces de usuario multipantalla
- Diseño automático y restricciones
- Descripción del sistema de diseño automático
- Uso de restricciones para diseños interactivos en diferentes tamaños de pantalla
- Creación de vistas de pila y ajuste dinámico de los elementos de la interfaz de usuario
- Swift Conceptos básicos de la interfaz de usuario
- Introducción al diseño declarativo de la interfaz de usuario en SwiftUI
- Creación de componentes de interfaz de usuario simples mediante SwiftUI
Semana 4: Android Diseño de la interfaz de usuario
- XML Diseños en Android
- Introducción al diseño de diseño basado en XML
- Trabajar con diseños comunes: LinearLayout, RelativeLayout, ConstraintLayout
- Adición y personalización de elementos de la interfaz de usuario: botones, vistas de texto, vistas de imagen
- Uso de ConstraintLayout para diseños dinámicos y interactivos
- Diseño de materiales
- 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 Android aplicaciones
Semana 5: React Diseño de interfaz de usuario nativa
- React Diseño nativo de Flexbox
- Entendiendo Flexbox para el diseño de diseño responsivo
- Creación de diseños basados en columnas y filas
- Aplicar estilo a los componentes de la interfaz de usuario con propiedades de Flexbox (justifyContent, alignItems, etc.)
- React Componentes nativos
- Trabajar con componentes principales como
Text
, ,TextInput
View
, yButton
- Creación de elementos interactivos de la interfaz de usuario, como formularios y botones
- Uso del
ScrollView
componente para contenido dinámico
- Trabajar con componentes principales como
Semana 6: Manejo de datos en iOS y Android
- iOS Manejo de datos
- Uso de UserDefaults para la persistencia de datos sencilla
- Introducción a los datos principales para el almacenamiento local de datos complejos
- Obtención de datos de API mediante URLSession
- Análisis de datos JSON y visualización en la interfaz de usuario
- Android Manejo de datos
- 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 de las API mediante Retrofit
- Análisis de JSON y control de respuestas de API
Semana 7: React Estado nativo Management y API
- Estado y Utilería en React Nativo
- Gestión del flujo de datos dentro de React componentes nativos
- Uso de
useState
hook para administrar el estado del componente local - Transferencia de datos entre componentes principales y secundarios a través de props
- Obtención de datos en React nativo
- Uso de la API Fetch y Axios para realizar solicitudes HTTP
- Visualización de datos obtenidos en listas (mediante
FlatList
,SectionList
) - Persistencia de datos localmente mediante AsyncStorage en React Native
Semana 8: Navegación en iOS y Android
- iOS Navegación
- Introducción a los controladores de navegación y a la gestión de varias pantallas
- Uso de transiciones para la transición entre controladores de vista
- Transferencia de datos entre controladores de vista
- Implementación de TabBar y NavigationBar para la navegación estructurada
- Android Navegación
- Trabajar con Activities e intents para aplicaciones multipantalla
- Pasar datos entre Activities usando Bundles
- Creación de un panel lateral de navegación y BottomNavigationView
- Implementación de fragmentos para una navegación flexible de la interfaz de usuario
Semana 9: Navegación en React Nativo
- React Conceptos básicos de navegación
- Instalación y configuración React Navegación
- Uso de Stack Navigator para transiciones de pantalla
- Implementación de Tab Navigator y Drawer Navigator para una navegación compleja
- Pasar parámetros entre pantallas y administrar el estado de navegación
Semana 10: Funciones avanzadas
- iOS Características avanzadas:
- Ubicación principal y mapas
- Accessubicación del dispositivo con la ubicación principal
- Visualización de mapas con MapKit
- Gestión de la geolocalización y el seguimiento de la ubicación del usuario
- Cámara y medios
- Accesscámara del dispositivo y biblioteca de fotos
- Captura y visualización de imágenes con UIImagePickerController
- Almacenamiento y recuperación de archivos multimedia
- Ubicación principal y mapas
- Android Funciones avanzadas
- Ubicación y mapas
- Uso de la API de Mapas de ogle para mostrar mapas y la ubicación del usuario
- AccessTransmisión de datos GPS y manejo de la geolocalización
- Cámara y medios
- Uso de CameraX para capturar fotos y gestionar los permisos de la cámara
- Visualización de imágenes y manejo del almacenamiento de medios
- Ubicación y mapas
- React Funciones avanzadas nativas
- React Mapas nativos
- Integración de mapas mediante
react-native-maps
- Manejo de servicios basados en la ubicación (geolocalización, mapeo de rutas)
- Integración de mapas mediante
- Acceso a la cámara y a los medios de comunicación
- Uso de la React biblioteca de cámaras nativas para capturar fotos
- AccessAlmacenamiento y manejo de archivos multimedia del dispositivo
- React Mapas nativos
Semana 11: Depuración y pruebas
- iOS Depuración y pruebas
- Uso del depurador de Xcode
- Configuración 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 con el marco XCTest
- Simulación de objetos y prueba de componentes de la interfaz de usuario
- Uso del depurador de Xcode
- Android Depuración y pruebas
- Uso de Logcat en Android Studio
- Registro y análisis de errores con Logcat
- Depuración de Android aplicaciones con puntos de interrupción
- Pruebas unitarias en Android
- Escritura de pruebas unitarias con JUnit
- Prueba de Android componentes de la interfaz de usuario con Espresso
- Uso de Logcat en Android Studio
- React Depuración y pruebas nativas
- React Herramientas de depuración nativas
- 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 Nativo
- Escritura de pruebas unitarias usando Jest y Enzyme
- Pruebas React Componentes nativos y administración de casos de prueba
- React Herramientas de depuración nativas
Semana 12: Implementación de aplicaciones y proyecto final
- Implementación y distribución
- iOS Presentación en la App Store
- Preparación de la aplicación para la distribución (iconos, certificados, perfiles de aprovisionamiento)
- Usar App Store Connect para enviar la aplicación para su revisión
- Uso de TestFlight para pruebas beta
- Android Envío de Play Store
- Preparar el APK y firmar la app para su distribución
- Uso de Google Play Console para el envío y el seguimiento de aplicaciones
- Descripción de las políticas y directrices de Play Store
- iOS Presentación en la App Store
- Desarrollo del proyecto final
- Desarrollo del proyecto final
- Crear una aplicación completamente funcional de su elección
- Incorporación de funciones avanzadas como llamadas a la 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
- Comprensión básica de los conceptos de programación
- Conocimientos básicos de JavaScript
Audiencia
- Desarrolladores móviles
- Programadores
Testimonios (5)
Los ejercicios, la aplicación práctica de los temas
Leonardo Pérez Tays - INSTITUTO MEXICANO DEL PETRÓLEO
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.