
Curso de Dart con Flutter
Domine Dart y Flutter desde cero y construya aplicaciones móviles listas para producción para Android y iOS. Este curso lo lleva desde la sintaxis central de Dart hasta la gestión de estado, redes, pruebas y despliegue en tiendas de aplicaciones. Cada concepto se fundamenta en código del mundo real que podrá usar de inmediato.
Lo que vas a aprender:
Comenzará con los fundamentos de Dart, incluyendo variables, funciones, colecciones y programación orientada a objetos, luego pasará a patrones asincrónicos como Futures, Streams e Isolates. A partir de ahí, construirá interfaces de usuario con Flutter usando widgets de diseño, navegación y formularios. Implementará gestión de estado con Provider, Riverpod y BLoC, y conectará sus aplicaciones a APIs REST y bases de datos SQLite. El curso también cubre pruebas unitarias, de widget e integración, además de integración con Firebase y optimización del rendimiento. Al finalizar, tendrá las competencias para diseñar, construir, probar y publicar una aplicación Flutter completa.
Cómo estudias de forma práctica Curso de Dart con Flutter
Cómo practicas Curso de Dart con Flutter
Para ti que eres empresa y quieres capacitar a tu equipo
En Dedika para empresas, el curso incluye ejercicios y ejemplos adaptados a tu propio negocio y a las necesidades de tu empresa.
Contenido del curso
8 Capítulos • 38 LeccionesDuración entre 4 y 360 horas (tú decides)
Capítulo 1OcultarOcultar detallesVer detallesFundamentos del lenguaje Dart
Fundamentos del lenguaje Dart
Lección 1 • Flujo de control y bucles
Enseña las construcciones if/else, switch, for, while y do-while. Proporciona las estructuras lógicas requeridas para todo el trabajo algorítmico posterior.
Lección 2 • Funciones y ámbito
Define funciones con nombre, anónimas y de flecha junto con las reglas de ámbito léxico. Prepara a los estudiantes para un diseño de código modular y reutilizable.
Lección 3 • Colecciones: Listas, Conjuntos y Mapas
Explora los tipos de colección principales de Dart y sus métodos de manipulación. Capacita a los estudiantes para almacenar y transformar datos estructurados de manera efectiva.
Lección 4 • Configuración del entorno Dart
Instale el SDK de Dart, configure un IDE y ejecute un primer programa. Establece la cadena de herramientas necesaria para todos los capítulos siguientes.
Lección 5 • Variables, tipos y operadores
Cubre el sistema de tipos estático de Dart, los tipos incorporados y los operadores aritméticos y lógicos. Permite el manejo correcto de datos en cada programa.
Capítulo 2OcultarOcultar detallesVer detallesProgramación orientada a objetos en Dart
Programación orientada a objetos en Dart
Lección 1 • Clases y constructores
Presenta la declaración de clases, campos, métodos y tipos de constructores. Forma la columna vertebral de todo el código de widgets y modelos de Flutter.
Lección 2 • Seguridad nula y tipos sólidos
Explica los tipos anulables vs. no anulables, los operadores ? y !, y las variables late. Elimina los errores de referencia nula antes del tiempo de ejecución.
Lección 3 • Interfaces y mixins
Enseña interfaces implícitas y composición de mixins para compartir código horizontalmente. Proporciona patrones utilizados extensivamente en el sistema de widgets de Flutter.
Lección 4 • Enumeraciones y métodos de extensión
Explora las enumeraciones mejoradas y los métodos de extensión para agregar comportamiento sin subclases. Mantiene las bases de código expresivas y mantenibles.
Lección 5 • Herencia y polimorfismo
Cubre extends, anulación de métodos y llamadas a super para construir jerarquías de clases. Permite la reutilización de código y un comportamiento flexible de los objetos.
Capítulo 3OcultarOcultar detallesVer detallesProgramación asíncrona en Dart
Programación asíncrona en Dart
Lección 1 • Futures y Async/Await
Cubre la creación de Futures, el encadenamiento con then/catchError y la sintaxis async/await. Permite patrones de código asíncrono limpios y legibles.
Lección 2 • Isolates para verdadero paralelismo
Explica los Isolates de Dart como montículos de memoria separados para tareas intensivas en CPU. Enseña a generar isolates y pasar mensajes a través de puertos.
Lección 3 • Streams y Stream Controllers
Presenta los Streams de suscripción única y de difusión, y el uso de StreamController. Prepara a los estudiantes para flujos de datos reactivos en aplicaciones Flutter.
Lección 4 • Comprensión del bucle de eventos
Explica el modelo de concurrencia de un solo hilo de Dart y la cola de microtareas. Proporciona el modelo mental necesario para razonar sobre el orden de ejecución asíncrona.
Capítulo 4OcultarOcultar detallesVer detallesFundamentos de Flutter y árbol de widgets
Fundamentos de Flutter y árbol de widgets
Lección 1 • Widgets de diseño principales
Enseña Row, Column, Stack, Container y Expanded para componer diseños. Proporciona los bloques de construcción para cualquier diseño de pantalla en Flutter.
Lección 2 • Widgets de entrada y formularios
Presenta TextField, Form, TextFormField y lógica de validación. Permite la recopilación y validación de la entrada del usuario en aplicaciones Flutter.
Lección 3 • Texto, imágenes e iconos
Cubre el estilo de texto, la carga de imágenes desde recursos y red, y el uso de iconos. Capacita a los estudiantes para renderizar contenido visual rico en sus aplicaciones.
Lección 4 • Widgets Stateless y Stateful
Distingue StatelessWidget de StatefulWidget y explica el ciclo de vida de construcción. Permite la selección correcta de widgets para cada escenario de UI.
Lección 5 • Panorama general de la arquitectura de Flutter
Cubre las capas del framework de Flutter: Dart, widgets, renderizado y motor. Proporciona a los estudiantes un modelo mental claro de cómo Flutter renderiza la UI.
Capítulo 5OcultarOcultar detallesVer detallesNavegación y enrutamiento en Flutter
Navegación y enrutamiento en Flutter
Lección 1 • GoRouter para enrutamiento declarativo
Presenta el paquete GoRouter para enrutamiento conciso basado en URL con protecciones. Simplifica árboles de navegación complejos en comparación con Navigator 2.0 sin procesar.
Lección 2 • Enlaces profundos y rutas dinámicas
Configura enlaces profundos en Android e iOS y asigna patrones de URL a pantallas. Apoya campañas de mercadeo y puntos de entrada externos a la aplicación.
Lección 3 • Navigator 2.0 y la API de Router
Explica RouterDelegate, RouteInformationParser y el modelo de navegación declarativa. Permite la navegación basada en URL para aplicaciones web y móviles.
Lección 4 • Fundamentos de Navigator 1.0
Cubre la navegación push, pop y de reemplazo con la API imperativa de Navigator. Establece la base antes de presentar el enrutamiento declarativo.
Capítulo 6OcultarOcultar detallesVer detallesEstrategias de gestión de estado
Estrategias de gestión de estado
Lección 1 • Elección de la solución de estado correcta
Compara todas las soluciones cubiertas por complejidad, capacidad de prueba y ajuste al tamaño del equipo. Guía a los estudiantes para tomar decisiones arquitectónicas informadas en proyectos reales.
Lección 2 • Riverpod para una gestión de estado robusta
Cubre los proveedores de Riverpod, ref.watch y StateNotifier para un estado seguro en compilación. Ofrece una alternativa comprobable y sin código repetitivo a Provider.
Lección 3 • Estado local con setState
Revisa setState para el estado local del widget e identifica sus límites de escalabilidad. Establece el contexto de por qué son necesarias las soluciones de estado externas.
Lección 4 • InheritedWidget y Provider
Explica la mecánica de InheritedWidget y el paquete Provider construido sobre él. Enseña el intercambio de estado basado en ChangeNotifier a través del árbol de widgets.
Lección 5 • Patrón BLoC con flutter_bloc
Implementa el patrón BLoC usando Eventos, Estados y Cubits con flutter_bloc. Impone una separación estricta de la UI y la lógica de negocio a escala.
Capítulo 7OcultarOcultar detallesVer detallesRedes, APIs y almacenamiento local
Redes, APIs y almacenamiento local
Lección 1 • Serialización y deserialización JSON
Enseña el análisis manual de JSON y modelos generados por código con json_serializable. Garantiza un mapeo de datos con seguridad de tipos desde las respuestas de la API a los objetos Dart.
Lección 2 • Base de datos SQLite con sqflite
Crea esquemas relacionales, ejecuta operaciones CRUD y gestiona migraciones con sqflite. Permite el almacenamiento estructurado de datos sin conexión en aplicaciones Flutter.
Lección 3 • Dio para operaciones HTTP avanzadas
Presenta los interceptores de Dio, la cancelación de solicitudes y la carga/descarga de archivos. Maneja escenarios de API complejos más allá del paquete http básico.
Lección 4 • Solicitudes HTTP con el paquete http
Cubre las solicitudes GET, POST, PUT y DELETE y el manejo de respuestas con el paquete http. Conecta las aplicaciones Flutter a cualquier endpoint de API REST.
Lección 5 • Persistencia local con SharedPreferences
Almacena y recupera datos simples de clave-valor usando el plugin SharedPreferences. Adecuado para configuraciones de usuario, tokens y estado ligero de la aplicación.
Capítulo 8OcultarOcultar detallesVer detallesPruebas, depuración y despliegue de aplicaciones
Pruebas, depuración y despliegue de aplicaciones
Lección 1 • Pruebas de widgets en Flutter
Utiliza WidgetTester para bombear widgets, simular interacciones y afirmar el estado de la UI. Detecta regresiones de renderizado y comportamiento antes de las pruebas de integración.
Lección 2 • Pruebas unitarias de código Dart y Flutter
Cubre el paquete test, grupos de prueba, simulación con Mockito y cobertura de código. Valida la lógica de negocio independientemente de la capa de UI.
Lección 3 • Construcción y publicación en tiendas de aplicaciones
Configura la firma, los sabores de compilación y las compilaciones de lanzamiento para las tiendas de Android e iOS. Completa el ciclo de vida completo de desarrollo a producción.
Lección 4 • Depuración con Flutter DevTools
Explora el inspector de widgets, el perfilador de rendimiento, la vista de memoria y la pestaña de red. Identifica y resuelve bloqueos de UI, fugas de memoria y cuadros lentos.
Lección 5 • Pruebas de integración y de extremo a extremo
Ejecuta flujos completos de la aplicación en un dispositivo real o emulador usando integration_test. Valida recorridos completos del usuario desde el inicio hasta la acción final.
Tu certificado válido de finalización
Este curso es para ti:
Desarrolladores web: interesados en expandir sus competencias hacia aplicaciones móviles de calidad nativa.
Personas en transición profesional: que buscan un rol de alta demanda en ingeniería móvil multiplataforma.
Ingenieros de backend: listos para asumir el stack completo añadiendo un front end con Flutter.
Aficionados: que desean convertir una idea de app personal en un producto real y publicado.
Estudiantes de ciencias de la computación: que buscan competencias prácticas de desarrollo móvil más allá de los cursos académicos.
Desarrolladores de Android o iOS: que quieren consolidar su flujo de trabajo en una única base de código compartida.
Lo que dicen nuestros estudiantes
Sus clases son perfectas. Adquirí el paquete de un año y, finalmente, tengo la oportunidad de seguir diversos temas de mi interés sin necesidad de cambiar de plataforma... les agradezco por todo lo que hacen, ya los he recomendado a otras personas...

Me gusta cómo las lecciones van directo al grano y cómo puedo cambiar capítulos y saltar contenidos que no necesito.

Me gusta el contenido y la forma de presentación y transcripción de videos, ¡lo que acelera el proceso!

La plataforma es rápida, fácil de usar. La diversidad de contenido y los videos complementarios ayudan mucho en el aprendizaje.

Principales capacitaciones
Preguntas frecuentes
¿Quién es Dedika?
¿El certificado es válido en Colombia?
¿Los cursos son gratuitos?
¿Cuál es la carga horaria del curso?
¿Cómo son los cursos?
¿Cómo funcionan los cursos?
¿Cuál es la duración de los cursos?
¿Cuál es el costo o precio de los cursos?
¿Qué es un curso EAD u online y cómo funciona?
Curso en PDF




















