¿Quieres programar como un desarrollador sénior de Flutter? ¡Prueba estas 5 extensiones!

Ravi Pai

Ravi Pai.16 de mayo de 2025. MEDIUM

Cuando empecé con Flutter, mi código era un poco caótico: mucha repetición repetida, widgets profundamente anidados y llamadas interminables, como dispersas por todas partes. Pensaba que escribir código limpio y fácil de mantener consistía simplemente en conocer los widgets y patrones adecuados, pero me equivocaba.

Un día, me topé con un pequeño fragmento de código que usaba métodos de extensión . Fue una revelación. Las extensiones permiten añadir nuevas funciones a las clases existentes sin reescribirlas, lo que hace que el código sea mucho más legible, reutilizable y elegante. ¡Puaj!, me emocioné al usar extensiones en todas partes.

Desde entonces, he adoptado las extensiones como parte central de mi desarrollo de Flutter.

1. Seguimiento del tiempo de ejecución en el futuro

¿Necesitas medir la duración de un futuro? Esta práctica extensión registra el tiempo de ejecución con una sola línea, ideal para crear perfiles rápidamente.

extensión ExFuture<T> en Future<T> { 
Future<T> trackTime( String label) async { inicio
final = DateTime .now(); resultado
final = await this ; fin
final = DateTime .now(); duración
final = end.difference(inicio);
print ( ' $label completado en ${duration.inMilliseconds} ms' );
devolver resultado;
}
}

Uso

await fetchData (). trackTime ('Obtener datos');

2. OnTap Wrapper para cualquier widget:

Hacer que los widgets sean táctiles en Flutter suele implicar envolverlos en un GestureDetector una y otra vez. Es repetitivo y sobrecarga el árbol de widgets. Con una simple extensión, puedes convertir cualquier widget en táctil en una sola línea. Las interacciones táctiles ahora son mucho más fáciles.

extensión ExTapExtension en el widget { 
Widget onTap(VoidCallback onTap) =>
GestureDetector(
onTap: onTap,
comportamiento: HitTestBehavior.opaque,
hijo: this ,
);
}

Uso

Icon(Icons.info).onTap(() => print ( '¡Tocado!' ))

3. Extensiones iterables: mapeo con índice:

¿Alguna vez has intentado mapear una lista y también necesitas el índice? De repente, te ves obligado a manipular contadores y la cosa se complica rápidamente. Con una sencilla extensión, puedes añadir un método mapIndexed limpio y elegante: se acabó la indexación manual, solo código legible y de alto nivel.

extensión ExIndexedMap < E > en  Iterable < E > { 
Iterable < T > mapIndexed < T >( Función T( int índice, E elemento ) f) {
var i = 0 ;
devolver mapa((e) => f(i++, e));
}
}

Uso

anyList.mapIndexed((i, elemento) => Texto( ' $i : $elemento ' ))

4. Acceso rápido a las métricas de pantalla:

Obtener el tamaño de la pantalla y las métricas del dispositivo es muy común en Flutter, pero escribir MediaQuery.of(context).sizeconstantemente puede resultar tedioso. Con una extensión sencilla, puedes obtener el ancho, la altura y más información de la pantalla directamente desde [nombre del archivo BuildContext], lo que hace que tu código de diseño sea más claro y fácil de leer.

extensión ExScreenMetrics en BuildContext { 
MediaQueryData obtener mq => MediaQuery.of( this );
doble obtener ancho => mq.size.width;
doble obtener alto => mq.size.height;
}

Uso

contexto. altura * 0.3

5. Acceso rápido al tema:

¿Cansado de escribir Theme.of(context)todo el tiempo? Mejora tu código extendiendo el código BuildContextpara acceder rápidamente a las propiedades del tema.

extensión Extheme en BuildContext { 
ThemeData obtener tema => Theme.of( this );
TextTheme obtener textTheme => theme.textTheme;
ColorScheme obtener colorScheme => theme.colorScheme;
// más si quieres
}

Uso

Texto ( 
'¡Hola, Flutter!' ,
estilo : context.textTheme.headlineSmall,
)

Menos código repetitivo y más legible. Esta pequeña extensión fomenta el uso consistente del sistema de diseño de tu aplicación.

¿Te gustaron estas extensiones? ¡Hay muchas más!
Descubre mi paquete de Flutter 👉 ultimate_extension en pub.dev: repleto de extensiones prácticas y reutilizables para que tu código sea más limpio e inteligente.

Si esto te ayudó, ¡compártelo con un compañero desarrollador!¿Tienes algún truco genial para extensiones? Déjalo en los comentarios.

Comparte en tus perfiles

Facebook
Twitter
LinkedIn

Artículos Relacionados:

El momento de la Infraestructura

Nangia I, Green A. y Sandri N. 9 de septiembre de 2025. Mc Kinsey & Company A medida que se amplía la definición de infraestructura, los inversores, operadores y gobiernos deberán modificar sus enfoques de financiación, construcción y mantenimiento. La infraestructura es un factor clave para el crecimiento económico global a largo plazo, sustentando sociedades prósperas,

Seguir leyendo »

El Cuaderno de Campo Digital: ¿éxito o fracaso?

Hispatec, 28 de noviembre de 2025. Esta es nuestra newsletter Agrointeligencia número 18. Esta edición la iniciamos con una reflexión sobre el Cuaderno de Campo Digital y su impacto real, del que se aprovechan las organizaciones productoras de Latinoamérica, España y todos los países en los que trabajamos. Esperamos que te guste esta edición de Agrointeligencia. El Cuaderno de

Seguir leyendo »

Las Claves del Sector del Agua

Alejandro Maceira, 24 de noviembre de 2025 La semana deja una fotografía clara: el saneamiento se ha situado en el centro de la conversación técnica, política y operativa en España. Bilbao reunió a los principales actores del sector para abordar una transición que ya es inevitable: nuevas exigencias europeas, una presión climática creciente y la

Seguir leyendo »