Temario 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, ,TextInputView, yButton
- Creación de elementos interactivos de la interfaz de usuario, como formularios y botones
- Uso del ScrollViewcomponente 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 useStatehook 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)
Informaciones adicionales muy útiles
Grzegorz - Comp S.A.
Curso - BLoC Pattern
Traducción Automática
Edward es un facilitador increíble
Zibusiso Ncube - Agricatural Research Council
Curso - Ionic 4 and Angular for Developers
Traducción Automática
Tal vez más ejercicios podrían ser mejores para aprender, pero el tiempo era demasiado pequeño
Gianpiero Arico' - Urmet Spa
Curso - Embedded Linux Systems Architecture
Traducción Automática
El conocimiento de Miguel sobre el tema era extenso. Hizo que la formación fuera fácil de entender y el ritmo fue equilibrado, añadiendo nuevas características a cada sección cuando era necesario. Cubrió todo lo que se le pidió y respondió cada una de las preguntas de manera exhaustiva. Fue una experiencia muy agradable.
Paul Coaton - SEMPCheck Services
Curso - Flutter Development Bootcamp with Dart
Traducción Automática
El entrenador fue entusiasta, amable y apasionado por el tema
Isaac Murphy - Royal New Zealand Airforce
Curso - Build Native iOS and Android Apps with Flutter
Traducción Automática
