Aprende a crear apps con Flutter
Un curso de Flutter gratis e interactivo que empieza desde cero. Escribe apps reales en Dart y ejecútalas en una pantalla de móvil junto al editor, con Hot reload, pistas de IA y certificados.
1,000+ codders inscritos
219 lecciones219 retos297 preguntas de quiz
- Apto para principiantes
Ayuda de codificación con IA
Lecciones interactivas prácticas
Narración de audio en cada lección
Cuestionarios para poner a prueba tu conocimiento
Certificado gratuito de finalización
Programa
Sección 1
Tu primera app
Empezar secciónEmpezarExpandirContraerTus primeras apps con Flutter: qué es Flutter, el árbol de widgets, el texto y su estilo, los cuadros de colores, el padding, las filas y columnas, los iconos y las imágenes, y el Dart que necesitas durante el proceso. Termina con una app de tarjeta de presentación.Hola, Flutter
6 lecciones68Estilizar texto
4 lecciones45Dart justo a tiempo
4 lecciones45Cajas
4 lecciones44Filas y columnas
6 lecciones68Iconos e imágenes
5 lecciones55Proyecto: Tarjeta de presentación
Proyecto3 lecciones33Sección 2
Cómo hacerla interactiva
Empezar secciónEmpezarExpandirContraerApps que responden: botones, funciones y la Console, StatefulWidget y setState, const y final, decisiones con if y booleanos, campos de texto, interruptores, casillas y controles deslizantes, y el Dart que hay detrás. Termina con una app para calcular propinas.Botones
5 lecciones57Funciones
3 lecciones35Widgets con estado
6 lecciones610const y final
2 lecciones24Decisiones
5 lecciones58Campos de texto
5 lecciones57Interruptores y deslizadores
3 lecciones34Proyecto: Calculadora de propinas
Proyecto5 lecciones56Sección 3
Listas y pantallas
Empezar secciónEmpezarExpandirContraerApps con más de una pantalla: listas desplazables y elementos de lista, tarjetas y cuadrículas, clases propias de Dart para tus datos, navegación entre pantallas y transferencia de datos, pestañas, un menú lateral y eliminación mediante deslizamiento. Termina con una app de libro de recetas.Listas con desplazamiento
5 lecciones58Listas a partir de datos
3 lecciones34Tarjetas y cuadrículas
3 lecciones33Tus propias clases
6 lecciones611Más de una pantalla
5 lecciones58Pestañas, cajones y deslizamientos
5 lecciones58Proyecto: Libro de recetas
Proyecto6 lecciones67Sección 4
Diseños que se adaptan
Empezar secciónEmpezarExpandirContraerPantallas que se adaptan a cualquier teléfono: compartir una fila con Expanded, Flexible y Spacer, entender y corregir el error de desbordamiento, Wrap, Stack y Positioned, SafeArea, anchos máximos, tamaños de pantalla y puntos de interrupción, enums y switch, temas de la app y modo oscuro. Termina con la pantalla de un reproductor de música.Compartir una fila
4 lecciones45El error de desbordamiento
5 lecciones56Apilar widgets
4 lecciones45Tamaños y puntos de ruptura
4 lecciones44Enumeraciones y switch
3 lecciones33Temas y modo oscuro
5 lecciones56Proyecto: Reproductor de música
Proyecto5 lecciones55Sección 5
Gestión del estado
Empezar secciónEmpezarExpandirContraerCompartir datos entre widgets y pantallas: elevar el estado con valores y callbacks, el Dart que necesitan las clases de modelo, Provider con ChangeNotifier, Riverpod con ConsumerWidget, StateProvider y Notifier, y cuándo usar cada uno. Termina con un carrito de compras compartido entre dos pantallas.Elevar el estado
4 lecciones48Dart para modelos
4 lecciones48Provider
7 lecciones714Riverpod
6 lecciones612Proyecto: Carrito de compras
Proyecto6 lecciones68Sección 6
Datos y red
Empezar secciónEmpezarExpandirContraerApps que esperan datos: futures, async y await, indicadores de carga con FutureBuilder, errores con try y catch, conversión de JSON de un servidor en clases de Dart, actualización al deslizar hacia abajo, y fechas y precios con intl. Termina con una app del tiempo.Futuros
4 lecciones46Pantallas de carga
5 lecciones58Cuando fallan las llamadas
5 lecciones56JSON
5 lecciones59Fechas y precios
3 lecciones33Proyecto: Aplicación del tiempo
Proyecto5 lecciones56Sección 7
Proyectos
Empezar secciónEmpezarExpandirContraerCuatro apps completas, creadas paso a paso con todo lo aprendido: una lista de tareas, un cuestionario, una tienda con carrito y un rastreador de hábitos con rachas y modo oscuro. Cada una termina como una app pulida que puedes mostrar a otras personas.Proyecto: Lista de tareas
Proyecto9 lecciones910Proyecto: Cuestionario
Proyecto9 lecciones99Proyecto: Tienda
Proyecto9 lecciones99Proyecto: Rastreador de hábitos
Proyecto9 lecciones99
Aprende Haciendo
Escribe código real, consulta bases de datos, crea sitios web y domina los prompts de IA. Nuestras lecciones interactivas cubren todas las habilidades que los desarrolladores modernos necesitan.
Construye tu Racha
¡Mantén la constancia y observa cómo crece tu progreso! Sigue tu hábito diario de programación, protege tu racha con días de congelación y gana recompensas por aparecer cada día.
12 días de racha
¡Vuelve mañana para mantener tu racha!
January 2026
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
21
22
23
24
25
26
27
28
29
30
Doble o Nada
Día 5 de 7
Congelar Racha
2 left
No Estás Solo
Compite en tablas de clasificación globales, invita amigos para ganar recompensas y celebra los logros de los demás. ¡Programar es mejor con amigos!
Aprende de todas las formas
Lee, escucha, ponte a prueba, pregunta a la IA o consulta cualquier cosa que ya hayas estudiado. Cada lección se adapta a ti.
Una variable es un contenedor con nombre que guarda un valor al que puedes hacer referencia más tarde.
En Python, creas una escribiendo el nombre, un signo igual y el valor que quieres guardar.
El valor puede cambiar con el tiempo: reasignar el nombre simplemente lo apunta a un nuevo valor.
Certifícate
Gana certificados por cada curso que completes. Agrégalos a tu perfil de LinkedIn y currículum para mostrar tu experiencia en programación a los empleadores.
Por qué aprender Flutter con Coddy
- Tu código y tu app están uno al lado del otro. Pulsa Ejecutar: la app se compila en los servidores de Coddy y se abre en una pantalla de móvil junto al editor, con el motor web de Flutter. Hot reload muestra tu cambio y conserva el estado de la app, y la Consola muestra la salida de
print()y los errores. Pulsa Comprobar y la lección se califica según lo que tu app muestra en pantalla. - No necesitas saber Flutter ni Dart para empezar. La primera sección construye el árbol de widgets con
Text, cajas de color, márgenes,RowyColumn, iconos e imágenes, y termina con una app de tarjeta de visita. En la segunda, las apps responden: botones,StatefulWidgetysetState,constyfinal, campos de texto, interruptores y deslizadores, y al final una calculadora de propinas. - Apps con más de una pantalla: listas con scroll, tarjetas y cuadrículas, tus propias clases de Dart, el paso entre pantallas, pestañas, un menú lateral y deslizar para borrar. Después, diseños que caben en cualquier móvil:
Expanded,FlexibleySpacer, el error de overflow y cómo arreglarlo,Stack,SafeArea, breakpoints, temas y modo oscuro. - Estado y datos como los manejan las apps reales: subir el estado,
Providercon unChangeNotifier, Riverpod conConsumerWidgetyNotifier, y cuándo usar cada uno. Luego futures,asyncyawait,FutureBuilder,tryycatch, y JSON de un servidor convertido en clases de Dart, para terminar con una app del tiempo.
Preguntas frecuentes sobre el curso de Flutter
¿Necesito saber Dart para aprender Flutter?
if, clases, async y await, cada cosa cuando una app la necesita por primera vez. No hace falta experiencia programando.