Elige tu idioma
Curso de Dart con Flutter
Más de 2 millones de estudiantes en todo el mundo

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.

Dedika para empresas

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.

Haz clic aquí

Contenido del curso

8 Capítulos • 38 LeccionesDuración entre 4 y 360 horas (tú decides)

Capítulo 1Ver detalles

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 2Ver detalles

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 3Ver detalles

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 4Ver detalles

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 5Ver detalles

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 6Ver detalles

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 7Ver detalles

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 8Ver detalles

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.

Certificación

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...
Giulio Carlo
Giulio CarloEstudiante de Marketing Digital
Me gusta cómo las lecciones van directo al grano y cómo puedo cambiar capítulos y saltar contenidos que no necesito.
Mariana Ferres
Mariana FerresEstudiante de Fotografía
Me gusta el contenido y la forma de presentación y transcripción de videos, ¡lo que acelera el proceso!
Luciana Alvarenga
Luciana AlvarengaEstudiante de Diseño de Uñas
La plataforma es rápida, fácil de usar. La diversidad de contenido y los videos complementarios ayudan mucho en el aprendizaje.
André Felipe
André FelipeEstudiante de Ingeniería de Prompt

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