Módulo 1: DART 101
- Introducción a Dart
- ¿Por qué Flutter usa Dart?
- Instalación y configuración de Dart
- Hola mundo
- Comentarios
- Variables
- Tipos de datos:
o Numbers
o Strings
o Booleans
o Lists
o Maps
o El valor ‘null’
- Operadores:
o Operadores aritméticos
o Operadores de igualdad y relación
o Operadores de asignación
o Operadores lógicos
o Expresiones condicionales
- Sentencias de control de flujo
o If – else
o Switch – case
o For loops
o While – do while
o Break – continue
- Funciones:
o Funciones comunes
o Funciones lambda
o Callbacks
- Control de errores
- Orientación a objetos:
o Clases: propiedades, métodos, constructores
o Herencia
o Enumeraciones
- Soporte asíncrono:
o Funciones asíncronas
o Futures
o Manejo de futures
o Streams
o Manejo de streams
- Gestión de paquetes
o Repositorio pub.dev
o Instalación, actualización y eliminación de paquetes
- Consumo de servicios web:
o Solicitudes http
o Manejo de respuestas http
o Mapeo del contenido de respuestas http a objetos
o Consumo de Star Wars API: https://swapi.dev/
Módulo 2: EMPEZANDO CON FLUTTER
- Introducción a Flutter
o Características de Flutter
o Historia y evolución
o Arquitectura
o Comparación con otros marcos de desarrollo móvil
o Casos de éxito
o Herramientas de desarrollo
- Instalación de Flutter
- Instalación y configuración de IDE + kits de desarrollo + emuladores de smartphones iOS y Android
- Test inicial: App Hola Mundo
o Revisión de estructura de un proyecto Flutter
o Creando un widget
o Prefer const
o Importancia del context
o Estado de un widget
o Stateless Widget
o Stateful Widget
- Interfaces de usuario: App Componentes Flutter
o Introducción a widgets:
– MaterialApp
– Container
– Column
– Row
– Scaffold
– Center
– Listview
– Appbar
– Stack
– Text
– Otros
- Navegación y enrutamiento
o Navigator
o Navigator 2.0
o Creacion de rutas
o Pasar parámetros entre pantallas
o Navegación mediante nombre de rutas
- Formularios:
o Widgets para formularios
o Programar manejadores de eventos
o Validación de formularios
o Presentación de errores en formularios
- Construcción de layouts avanzada y uso de gestores de estado: App Guía Turística
o Carruseles
o Slivers
o Bottom Navigation Bar
o Uso de pub.dev en aplicaciones Flutter
o Gestores de estado
– Provider
– Riverpood
– Bloc o Animaciones:
– Animaciones implícitas
– Animaciones explícitas
Módulo 3: DESARROLLANDO APLICACIONES DEL MUNDO REAL CON FLUTTER
Proyecto 1: App de Geolocalización con Google Maps
- Introducción a Google Maps en Flutter:
o Comprender qué es Google Maps y cómo se integra con Flutter
o Configuración inicial del proyecto
o Crear una cuenta de desarrollador en Google Cloud Platform
o Obtener una clave de API para Google Maps
o Configurar la clave de API en el proyecto Flutter
- Diseño de la interfaz de usuario:
o Diseñar la interfaz de la aplicación
o Incorporar un mapa de Google en la pantalla
o Agregar elementos para mostrar la latitud y longitud
o Implementar un widget de Google Maps en la interfaz
o Personalizar la apariencia del mapa
- Geolocalización en tiempo real
o Introducción a la geolocalización en Flutter
o Configuración de permisos de ubicación
o Utilizar paquetes de Flutter para acceder a la ubicación actual del dispositivo
o Actualizar la ubicación en tiempo real en el mapa
- Visualización de datos adicionales
o Agregar marcadores para indicar la ubicación actual en el mapa
o Mostrar información adicional, como la dirección
o Permitir que los usuarios interactúen con el mapa, como hacer zoom o desplazarse
- Pruebas y optimización
o Realizar pruebas exhaustivas para garantizar que la aplicación funcione correctamente en diferentes dispositivos y condiciones
o Mejorar la eficiencia y el rendimiento de la aplicación
o Identificar y solucionar posibles problemas
Proyecto 2: Chat en tiempo real con Firebase
- Diseño de la interfaz de usuario de la aplicación:
o Creación de la interfaz de usuario de inicio de sesión y registro
o Diseño de la pantalla de chat con una lista de mensajes y un campo de entrada de texto
o Integración de elementos de diseño atractivos
- Autenticación de usuarios con Firebase:
o Configuración de Firebase Authentication en el proyecto
o Creación de formularios de registro e inicio de sesión
o Implementación de funciones de autenticación segura
- Gestión de usuarios:
o Creación de perfiles de usuario
o Almacenamiento de datos de usuario en Firebase Firestore
o Visualización de la lista de usuarios disponibles para chatear
- Mensajería en tiempo real con Firebase Realtime Database:
o Configuración de Firebase Realtime Database para gestionar conversaciones
o Implementación de funciones para enviar y recibir mensajes en tiempo real
o Organización de conversaciones por usuario
- Notificaciones en tiempo real:
o Implementación de notificaciones push para alertar a los usuarios sobre nuevos mensajes
o Configuración de Firebase Cloud Messaging (FCM)
- Seguridad y privacidad:
o Implementación de medidas de seguridad para proteger la información del usuario y los mensajes
o Control de acceso a las conversaciones y la autenticación
- Pruebas y depuración:
o Pruebas exhaustivas de la funcionalidad de chat
o Manejo de errores y problemas comunes de chat en tiempo real
Módulo 4: PUBLICACIONES EN TIENDAS DE APLICACIONES
- Preparación de la aplicación para su lanzamiento
- Cumplimiento de requisitos de publicación (iOS App Store y Google Play Store)
- Estrategias de marketing y promoción para destacar en las tiendas
- Gestión de actualizaciones y retroalimentación de los usuarios