Navegación con named routes en Flutter: ejercicio resuelto

Si quieres dominar named routes en Flutter, este ejercicio te muestra una estructura limpia para moverte entre pantallas.

Enunciado

Configura dos pantallas y navega desde Home a Detail usando rutas nombradas.

Solución en Flutter

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
import 'package:flutter/material.dart';

void main() {
  runApp(MaterialApp(
    initialRoute: '/',
    routes: {
      '/': (_) => const HomePage(),
      '/detail': (_) => const DetailPage(),
    },
  ));
}

class HomePage extends StatelessWidget {
  const HomePage({super.key});

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: const Text('Home')),
      body: Center(
        child: ElevatedButton(
          onPressed: () => Navigator.pushNamed(context, '/detail'),
          child: const Text('Ir a detalle'),
        ),
      ),
    );
  }
}

class DetailPage extends StatelessWidget {
  const DetailPage({super.key});

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: const Text('Detalle')),
      body: Center(
        child: ElevatedButton(
          onPressed: () => Navigator.pop(context),
          child: const Text('Volver'),
        ),
      ),
    );
  }
}

Resultado esperado

La app navega con rutas centralizadas y flujo claro ida-vuelta.

Errores frecuentes

  • Mezclar rutas nombradas y no nombradas sin criterio.
  • Duplicar nombres de rutas.
  • No manejar retorno con Navigator.pop.

Aplicación práctica

Este patrón ayuda a escalar apps con múltiples módulos y navegación mantenible.

Siguiente ejercicio recomendado

Práctica guiada y siguiente paso

FAQ

¿Es mejor usar named routes o Router 2.0?

Para apps pequeñas y medias, named routes suele ser suficiente y más rápido de implementar.

¿Se pueden pasar argumentos con named routes?

Sí. Puedes usar arguments en pushNamed y leerlos en destino.

¿Este patrón es válido en 2026?

Sí, especialmente en proyectos que priorizan simplicidad y velocidad de entrega.