
Curso de Flutter
Domine Flutter desde cero y construya aplicaciones listas para producción para iOS, Android, web y escritorio. Este curso cubre todo, desde los fundamentos de Dart y la gestión de estado, hasta animaciones, integración con Firebase y despliegue automatizado. Si habla en serio sobre convertirse en un desarrollador Flutter profesional, aquí es donde comienza.
Lo que vas a aprender:
Usted comenzará con la sintaxis de Dart y el sistema de widgets de Flutter, para luego pasar a layouts, navegación y gestión de estado usando Provider, Riverpod y BLoC. A partir de ahí, conectará sus aplicaciones a APIs REST, manejará almacenamiento local e integrará Firebase para autenticación y datos en tiempo real. Construirá animaciones personalizadas, optimizará el rendimiento de las aplicaciones y escribirá pruebas unitarias, de widgets y de integración. Finalmente, configurará pipelines de CI/CD y publicará sus aplicaciones en App Store y Google Play. Cada tema está respaldado por código práctico que puede usar de inmediato en proyectos reales.
Cómo estudias de forma práctica Curso de Flutter
Cómo practicas Curso de 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 de Flutter y Dart
Fundamentos de Flutter y Dart
Lección 1 • Dart Orientado a Objetos
Explore clases, herencia, mixins e interfaces en Dart. Prepara a los estudiantes para comprender la jerarquía de clases de widgets de Flutter.
Lección 2 • Configuración del Entorno Flutter
Instale el SDK de Flutter, configure un IDE y conecte un dispositivo o emulador. Establece la cadena de herramientas de la que depende cada capítulo posterior.
Lección 3 • Panorama de la Estructura del Proyecto Flutter
Examine la anatomía de un proyecto Flutter: carpetas, pubspec.yaml y punto de entrada. Conecta el conocimiento de Dart con la organización real del proyecto.
Lección 4 • Conceptos Centrales del Lenguaje Dart
Cubra variables, tipos, funciones y flujo de control en Dart. Proporciona la base del lenguaje requerida para escribir cualquier widget o lógica de Flutter.
Capítulo 2OcultarOcultar detallesVer detallesWidgets y los Bloques de Construcción de la IU
Widgets y los Bloques de Construcción de la IU
Lección 1 • Widgets Centrales de Material y Cupertino
Explore los widgets integrados esenciales: Text, Image, Icon, variantes de Button y AppBar. Proporciona un conjunto de herramientas práctico para construir pantallas reales.
Lección 2 • Widgets Stateful y setState
Introduzca el estado mutable con StatefulWidget y el mecanismo setState. Permite componentes de IU dinámicos e interactivos.
Lección 3 • Formularios y Widgets de Entrada
Implemente campos de texto, casillas de verificación, botones de opción y validación de formularios. Conecta el manejo de entrada del usuario con los conceptos de widgets stateful.
Lección 4 • Widgets Stateless en Profundidad
Construya y componga subclases de StatelessWidget para IU estática. Cubre el método build, constructores const y patrones de reutilización de widgets.
Lección 5 • Comprensión del Árbol de Widgets
Explique cómo Flutter renderiza la IU como un árbol de widgets y cómo funcionan las relaciones padre-hijo. Fundamenta todas las decisiones de layout y estilo.
Capítulo 3OcultarOcultar detallesVer detallesLayouts y Diseño Responsivo
Layouts y Diseño Responsivo
Lección 1 • Layouts Responsivos y Adaptables
Aplique MediaQuery, LayoutBuilder y puntos de quiebre para adaptar la IU al tamaño de pantalla. Asegura una UX consistente entre categorías de dispositivos.
Lección 2 • Layouts con Stack, Positioned y Overlay
Superponga widgets con Stack y Positioned para elementos de IU solapados. Permite insignias, etiquetas flotantes y diseños de superposición personalizados.
Lección 3 • Layouts con Row, Column y Flex
Use Row, Column y Flex con alineación, espaciado e hijos Expanded o Flexible. Forma la columna vertebral de la mayoría de layouts de pantalla en Flutter.
Lección 4 • Widgets Desplazables y Listas
Construya contenido desplazable con ListView, GridView y CustomScrollView. Cubre patrones de carga perezosa para rendimiento con grandes conjuntos de datos.
Lección 5 • Restricciones de Caja y Protocolo de Layout
Explique cómo Flutter pasa restricciones hacia abajo y dimensiona hacia arriba el árbol. Resuelve la confusión de layout más común antes de que se convierta en un hábito.
Capítulo 4OcultarOcultar detallesVer detallesNavegación y Enrutamiento
Navegación y Enrutamiento
Lección 1 • Navigator 2.0 y Enrutamiento Declarativo
Adopte la API Router y la lista Pages para navegación basada en URL. Permite aplicaciones Flutter compatibles con navegadores y enlazables profundamente.
Lección 2 • Uso de GoRouter para Navegación
Configure GoRouter para enrutamiento declarativo basado en URL con guardias y redirecciones. Simplifica la complejidad de Navigator 2.0 en aplicaciones de producción.
Lección 3 • Navegación Inferior y Barras de Pestañas
Combine BottomNavigationBar, TabBar y TabBarView para aplicaciones con múltiples secciones. Integra patrones de navegación con la gestión de widgets stateful.
Lección 4 • Fundamentos de Navigator 1.0
Empuje y saque rutas imperativamente usando Navigator y MaterialPageRoute. Establece el modelo mental para la navegación basada en pila.
Capítulo 5OcultarOcultar detallesVer detallesEstrategias de Gestión de Estado
Estrategias de Gestión de Estado
Lección 1 • InheritedWidget y Provider
Comparta estado hacia abajo en el árbol de widgets con InheritedWidget, luego simplifique con Provider. Construye intuición para la inyección de dependencias en Flutter.
Lección 2 • Patrón BLoC con flutter_bloc
Separe la IU de la lógica de negocio usando eventos, estados y clases BLoC. Impone flujo de datos unidireccional para proyectos grandes basados en equipos.
Lección 3 • Estado Local con ValueNotifier y Hooks
Gestione el estado local del widget eficientemente con ValueNotifier y flutter_hooks. Reduce el boilerplate para estado reactivo simple sin soluciones completas.
Lección 4 • Marco de Decisión para Gestión de Estado
Compare soluciones por complejidad, testabilidad y tamaño del equipo. Capacita a los estudiantes para justificar elecciones arquitectónicas en proyectos reales.
Lección 5 • Riverpod para Gestión de Estado Moderna
Declare providers fuera del árbol de widgets usando Riverpod para estado testeable y seguro en compilación. Aborda las limitaciones de dependencia de contexto de Provider.
Capítulo 6OcultarOcultar detallesVer detallesRedes, APIs y Persistencia de Datos
Redes, APIs y Persistencia de Datos
Lección 1 • Análisis JSON y Modelos de Datos
Deserialice JSON en clases de modelo Dart manualmente y con generación de código. Asegura el manejo de datos con seguridad de tipos en toda la aplicación.
Lección 2 • Patrón Repositorio y Capa de Datos
Abstraiga las fuentes de datos detrás de interfaces de repositorio para testabilidad y flexibilidad. Conecta redes y persistencia en una capa de arquitectura limpia.
Lección 3 • Solicitudes HTTP con Dio y http
Realice solicitudes GET, POST, PUT y DELETE usando los paquetes http y Dio. Cubre interceptores, encabezados y manejo de respuestas de error.
Lección 4 • Dart Asíncrono: Futures y Streams
Domine async/await, encadenamiento de Future y suscripciones a Stream en Dart. Proporciona la base asíncrona para todo el trabajo de redes y persistencia.
Lección 5 • Almacenamiento Local y Bases de Datos
Persista datos con SharedPreferences, Hive y SQLite mediante sqflite. Cubre casos de uso desde almacenamiento simple clave-valor hasta consultas relacionales.
Capítulo 7OcultarOcultar detallesVer detallesAnimaciones y Pintado Personalizado
Animaciones y Pintado Personalizado
Lección 1 • Animaciones de Transición Hero y de Página
Implemente transiciones Hero de elementos compartidos y animaciones de ruta de página personalizadas. Crea continuidad visual entre pantallas durante la navegación.
Lección 2 • Animaciones Explícitas con AnimationController
Controle animaciones con precisión usando AnimationController, Tween y AnimatedBuilder. Permite animaciones en bucle, reversibles y secuenciadas.
Lección 3 • Animaciones Implícitas
Use AnimatedContainer, AnimatedOpacity y TweenAnimationBuilder para transiciones simples. Logra cambios de IU pulidos con código mínimo.
Lección 4 • Pintado Personalizado con Canvas
Dibuje formas, trazados y gradientes usando CustomPainter y las APIs de Canvas. Desbloquea elementos de IU completamente personalizados más allá de las capacidades estándar de los widgets.
Lección 5 • Integraciones de Rive y Lottie
Incruste animaciones vectoriales de archivos Rive y Lottie en aplicaciones Flutter. Permite animaciones dirigidas por diseñadores sin implementación manual de código.
Capítulo 8OcultarOcultar detallesVer detallesPruebas, Despliegue y CI/CD
Pruebas, Despliegue y CI/CD
Lección 1 • Pruebas de Integración y de Extremo a Extremo
Ejecute flujos completos de la aplicación en dispositivos reales o emuladores usando el paquete integration_test. Valida recorridos completos del usuario antes del lanzamiento.
Lección 2 • Pipelines de CI/CD y Despliegue en Tiendas
Automatice compilaciones, pruebas y lanzamientos usando herramientas de CI y Fastlane. Reduce el esfuerzo de lanzamiento manual e impone puertas de calidad en cada commit.
Lección 3 • Pruebas Unitarias en Flutter
Pruebe la lógica de Dart y las clases de gestión de estado de forma aislada usando el paquete test. Valida la lógica de negocio independientemente de la capa de IU.
Lección 4 • Pruebas de Widget
Renderice widgets en un entorno de prueba y simule interacciones del usuario con WidgetTester. Detecta regresiones de IU sin ejecutar en un dispositivo real.
Lección 5 • Configuración de Compilación y Flavors
Configure flavors de compilación para entornos de desarrollo, staging y producción. Evita que los errores específicos del entorno lleguen a los usuarios finales.
Tu certificado válido de finalización
Este curso es para ti:
Desarrollador web: quiere expandirse al entorno móvil sin aprender dos pilas nativas.
Persona en proceso de cambio profesional: tiene experiencia en un bootcamp de programación y busca un empleo como desarrollador de aplicaciones móviles.
Desarrollador de Android o iOS: busca un flujo de trabajo unificado multiplataforma para aumentar la productividad.
Emprendedor independiente: necesita lanzar una aplicación de consumo en solitario sin contratar un equipo de desarrollo móvil.
Estudiante de ciencias de la computación: quiere habilidades prácticas y empleables más allá de los cursos académicos.
Ingeniero de backend: listo para apropiarse del producto completo agregando un frontend móvil pulido.
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




















