~/VibeHandbook
PDF gratis

App / Móvil

flutter.dev

Flutter

Qué es

Imagina escribir una sola receta y poder cocinar el mismo plato en cualquier cocina, en lugar de reescribirla para cada estufa. Esa es la idea multiplataforma: un único conjunto de código que funciona en muchos dispositivos. Flutter es el kit de herramientas de UI (User Interface — Interfaz de Usuario, la parte de la app que se ve en pantalla) de código abierto de Google para construir apps multiplataforma a partir de un único código base escrito en el lenguaje Dart. A diferencia de los enfoques que reutilizan los controles nativos en pantalla del propio dispositivo, Flutter dibuja cada píxel por sí mismo con su propio motor de renderizado, de modo que la interfaz se ve y se comporta de forma idéntica en iOS, Android, web y escritorio. Viene con un amplio conjunto de widgets Material y Cupertino listos para usar.

Fortalezas

  • Un único código base en Dart apunta a iOS, Android, web y escritorio con resultados consistentes.
  • Su propio motor de renderizado significa una interfaz idéntica y perfecta al píxel en todas partes.
  • Como editar un documento y ver el cambio aparecer al instante sin reabrir el archivo, el Stateful Hot Reload muestra los cambios de código en la app en ejecución de inmediato, lo que hace la iteración extremadamente rápida.
  • Una biblioteca de widgets grande y pulida, con herramientas sólidas.
  • Excelente para interfaces personalizadas, con marca fuerte y ricas en animación.

Compromisos (trade-offs)

  • Requiere aprender Dart, un lenguaje usado casi exclusivamente para Flutter.
  • Los binarios de la app son más grandes porque el motor se incluye junto con la app.
  • Al dibujar sus propios widgets, las actualizaciones de apariencia y comportamiento nativos de cada plataforma pueden retrasarse.
  • Las integraciones profundas con la plataforma todavía requieren código nativo (Swift/Kotlin) mediante plugins.

Cuándo usarlo

Recurre a Flutter cuando quieras que un único equipo lance una app muy pulida y visualmente consistente en muchas plataformas, especialmente cuando el diseño personalizado y las animaciones fluidas importan más que igualar exactamente los widgets nativos de cada sistema operativo (Operating System's — el software central del dispositivo, como iOS o Android).

Encaje con vibe coding

Flutter combina bien con los asistentes de IA porque todo es un widget compuesto en un árbol claro, y Hot Reload te permite verificar la interfaz generada en segundos. Pide al modelo que divida el árbol en widgets pequeños y enfocados, que mantenga la gestión de estado explícita (por ejemplo, una única clase de estado o un bien conocido) y que prefiera constructores const por rendimiento. Como el es autocontenido, el código generado rara vez depende de una configuración nativa frágil.

class Counter extends StatefulWidget {
  @override
  State<Counter> createState() => _CounterState();
}

class _CounterState extends State<Counter> {
  int count = 0;
  @override
  Widget build(BuildContext context) => Column(children: [
        Text('Count: $count'),
        ElevatedButton(
          onPressed: () => setState(() => count++),
          child: const Text('Add'),
        ),
      ]);
}