Contacta con nosotros

Temario del curso

Introducción

Semana 1: Visión general del desarrollo móvil

  • Ecosistema móvil y plataformas
    • Visión general de los sistemas operativos móviles (iOS y Android).
    • Diferencias clave 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 el código se traduce a plataformas móviles (JavaScript a código nativo en React Native).
  • Fundamentos de programación
    • Introducción a conceptos de programación (variables, tipos de datos, funciones, flujo de control).
    • Comparación de la sintaxis de Swift, Kotlin y JavaScript.
    • Escritura de 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 "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.
    • 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 Kotlin para Android
    • Variables, tipos de datos y funciones en Kotlin.
    • Comprensión de la seguridad ante valores nulos en 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.
    • Escritura y ejecución de programas JavaScript básicos 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.
    • Agregado y personalización de elementos de UI como botones, etiquetas y campos de texto.
    • Uso del Interface Builder para diseñar la UI.
    • Trabajo con Storyboards y diseño de interfaces multi-pantalla.
  • 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 stack views y ajuste dinámico de elementos de UI.
  • Fundamentos de SwiftUI
    • Introducción al diseño de UI declarativo en SwiftUI.
    • Construcción de componentes UI simples usando SwiftUI.

Semana 4: Diseño de interfaz de usuario en Android

  • Diseños XML en Android
    • Introducción al diseño de layouts basado en XML.
    • Trabajo con layouts comunes: LinearLayout, RelativeLayout, ConstraintLayout.
    • Agregado y personalización de elementos de UI: botones, vistas de texto, vistas de imagen.
    • Uso de ConstraintLayout para layouts adaptables y dinámicos.
  • Material Design
    • Integración de principios de Material Design (colores, iconos, tipografía).
    • Uso de Material Components (botones, Floating Action Buttons, tarjetas).
    • Implementación de temas y estilos para aplicaciones Android.

Semana 5: Diseño de interfaz de usuario en React Native

  • Layout Flexbox en React Native
    • Comprensión de Flexbox para el diseño de layouts adaptables.
    • Creación de layouts basados en columnas y filas.
    • Estilizado de componentes de UI con propiedades Flexbox (justifyContent, alignItems, etc.).
  • Componentes de React Native
    • Trabajo con componentes principales como Text, View, TextInput y Button.
    • Creación de elementos de UI interactivos como formularios y botones.
    • Uso del componente ScrollView para contenido dinámico.

Semana 6: Manejo de datos en iOS y Android

  • Manejo de datos en iOS
    • Uso de UserDefaults para persistencia de datos simple.
    • Introducción a Core Data para 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 Room Persistence Library para gestionar 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 componentes de React Native.
    • Uso del hook useState para gestionar el estado local de componentes.
    • Pasaje 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 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 multi-pantalla.
    • Pasaje de datos entre Activities usando Bundles.
    • Creación de Navigation Drawer y BottomNavigationView.
    • Implementación de fragments para navegación flexible de la UI.

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 de pantalla.
    • 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: Funciones avanzadas

  • Funciones avanzadas en iOS:
    • Core Location y mapas
      • Acceso a la ubicación del dispositivo con Core Location.
      • Visualización de mapas usando MapKit.
      • Manejo de geolocalización y rastreo de la ubicación del usuario.
    • Cámara y multimedia
      • Acceso a la cámara y biblioteca de fotos del dispositivo.
      • Captura y visualización de imágenes con UIImagePickerController.
      • Almacenamiento y recuperación de archivos multimedia.
  • 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 geolocalización.
    • Cámara y multimedia
      • Uso de CameraX para capturar fotos y manejar permisos de cámara.
      • Visualización de imágenes y manejo del almacenamiento multimedia.
  • 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, trazado de rutas).
    • Acceso a cámara y multimedia
      • Uso de la librería React Native Camera para capturar fotos.
      • Acceso al almacenamiento multimedia del dispositivo y manejo de archivos.

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
      • Escritura y ejecución de pruebas unitarias usando el framework XCTest.
      • Mocking de objetos y pruebas de componentes de UI.
  • 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
      • Escritura de pruebas unitarias usando JUnit.
      • Prueba de componentes de UI de Android con Espresso.
  • 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
      • Escritura de pruebas unitarias usando Jest y Enzyme.
      • Prueba de componentes de React Native y gestión de casos de prueba.

Semana 12: Despliegue de aplicaciones y proyecto final

  • Despliegue y distribución
    • Envío a la App Store para iOS
      • Preparación de tu aplicación para la distribución (iconos, certificados, provisioning profiles).
      • Uso de App Store Connect para enviar la aplicación a revisión.
      • Uso de TestFlight para pruebas beta.
    • Envío a la 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 directrices de la Play Store.
  • 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 a API, navegación, multimedia y ubicación.
      • Presentación y demostración de la aplicación final a compañeros e instructores.

Resumen y próximos pasos

Requerimientos

  • Conocimientos básicos de conceptos de programación.
  • Conocimientos básicos de JavaScript.

Audiencia

  • Desarrolladores móviles.
  • Programadores.
 420 Horas

Número de participantes


Precio por participante

Testimonios (4)

Próximos cursos

Categorías Relacionadas