Flutter es el framework de código abierto de Google para construir aplicaciones compiladas de forma nativa para móvil (Android e iOS), web y escritorio desde un único código base escrito en Dart. A diferencia de otros frameworks multiplataforma que usan puentes hacia componentes nativos, Flutter renderiza directamente cada píxel de la interfaz mediante su propio motor gráfico Impeller (que sustituye al antiguo Skia), con soporte de Metal en iOS, Vulkan en Android y compilación de shaders en tiempo de construcción para eliminar el jank. Esto garantiza un rendimiento consistente de 60 y 120 fps y un control total sobre el aspecto visual.
El modelo de desarrollo de Flutter se basa en widgets: cada elemento visual es un widget que se compone dentro de un árbol declarativo. Los widgets pueden ser sin estado (StatelessWidget) o con estado (StatefulWidget), y el framework proporciona un amplio catálogo de widgets Material 3 y Cupertino listos para usar, con soporte de temas dinámicos, tipografía fluida y superficies con elevación tonal. La gestión de estado se aborda con múltiples enfoques (Provider, Riverpod 2.x, BLoC) que se adaptan a diferentes escalas de proyecto, desde prototipos rápidos hasta aplicaciones empresariales.
El ecosistema de Flutter incluye un sistema de paquetes maduro (pub.dev) con Dart 3.x, records, patterns y null safety estricto, integración nativa con Firebase para backend-as-a-service (autenticación, Firestore, Storage, notificaciones push), herramientas de desarrollo con hot reload y DevTools modernos para inspección del árbol de widgets, CPU profiling y memory. Con soporte oficial para Android (incluido Android 15), iOS (incluido iOS 18), web (con renderer CanvasKit y WasmGC para producción), Windows, macOS y Linux, Flutter se posiciona como la solución más completa para equipos que buscan maximizar la reutilización de código sin sacrificar la experiencia nativa.
Qué incluye este itinerario
- Introducción y entorno: qué es Flutter, arquitectura del motor gráfico, instalación del SDK y primer proyecto con hot reload.
- Fundamentos de Dart: sintaxis, tipos, null safety, clases, programación asíncrona (Future, Stream) y colecciones.
- Widgets: widget tree, StatelessWidget, StatefulWidget, widgets Material Design y Cupertino.
- Layouts: Row, Column, Stack, Container, responsive design con MediaQuery/LayoutBuilder, listas y grids.
- Navegación: Navigator, GoRouter, deep linking, bottom navigation y tabs.
- Gestión de estado: setState, Provider, Riverpod, BLoC y comparativa de soluciones.
- HTTP y APIs: paquete http, Dio, serialización JSON con code generation y manejo de errores.
- Persistencia local: SharedPreferences, SQLite (sqflite), Hive y Cloud Firestore.
- Firebase: setup multiplataforma, Auth, Storage, Push Notifications y Analytics.
- Testing y despliegue: unit testing, widget testing, integration testing, CI/CD y publicación en Play Store y App Store.
Público objetivo
- Desarrolladores móviles que quieren construir aplicaciones para Android e iOS con un único código base.
- Desarrolladores web que buscan expandir sus habilidades al desarrollo multiplataforma.
- Desarrolladores nativos (Kotlin/Swift) que desean aumentar su productividad con un framework declarativo y hot reload.
- Startups y equipos de producto que necesitan lanzar rápidamente en múltiples plataformas con recursos limitados.
- Estudiantes y profesionales que quieren aprender un framework moderno con alta demanda laboral.
Prerrequisitos: conocimientos básicos de programación (variables, funciones, clases). No se requiere experiencia previa con Dart, Flutter ni desarrollo móvil; el itinerario cubre Dart desde cero. Es recomendable disponer de un ordenador con al menos 8 GB de RAM para ejecutar emuladores.