Tips para mejorar el Performance en Xamarin Forms

Leomaris Reyes
3 min readJul 1, 2019

--

¿No es sorprendente cuando usamos aplicaciones que tienen un tiempo de respuesta rápido? Es super cool ver aplicaciones que comprometan nuestro tiempo de espera lo más mínino posible. Es por eso que como desarrolladores debemos esforzarnos lo suficiente para garantizar que cada aplicación que realicemos tenga el mejor rendimiento posible.

¡Es increíble poder agregar libremente los componentes y funcionalidades que queremos a nuestra aplicación! Pero al usar dichos componentes, necesitamos saber cómo se verá afectado el rendimiento de la aplicación cuando todos ellos estén funcionando en conjunto.

En este artículo aprenderemos algunos consejos para mejorar el rendimiento de nuestra App en Xamarin Forms.

¡Empecemos!

Tip 1⃣: Imágenes correctas en la carpeta de dimensiones correcta en Xamarin Android

Como sabemos, para la organización de las imágenes nuestro proyecto nos ofrece una estructura la cual nos crea unas carpetas con diferentes dimensiones (hdpi, xhdpi, xxhpi, entre otras), se recomienda generar los recursos correctos y agregarlos en la carpeta correcta. Si deseas obtener más información sobre este tema, te dejo mi artículo “Comprendiendo densidades de pantalla en Xamarin Android”.

Tip 2⃣: Usando los Layouts correctos

Usar un Layout correcto puede ser una GRAN contribución a nuestra aplicación, podemos reemplazar algunos diseños dependiendo del objetivo, por ejemplo, en el siguiente escenario usé un StackLayout para crear un diseño con: Fila + Dos columnas, para hacerlo se necesita crear tres Stacklayouts, pero si solo hacemos con Grid pues ¡Solo necesitaríamos uno!

Con Stacklayout:

Hagamos lo mismo con el Grid!

Personalmente, construyo todas las pantallas con Grids como un diseño principal (En los casos en que aplique por supuesto), porque esto realmente ayuda al rendimiento y podemos lograr un gran resultado. Hay un video que les recomiendo ver de Kym Phillpotts, esta nos enseña a crear una pantalla super bonita usando Grid como elemento principal. Click aquí para verlo.

Si deseas saber más información sobre los Grids, te invito a ver este artículo:

Tip 3⃣: No agregues un Layout solo para agregar una propiedad Padding 😔

A veces necesitamos agregar espacios para algunos componentes de la pantalla y es por eso que agregamos la propiedad Padding🤔…Pero… ¿Qué pasa si los componentes no tienen esta propiedad? Tal vez una de las respuestas más populares sería: Agregar el componente dentro de un Layout!, algo como esto:

La mejor forma de usar sería de la siguiente manera:

Para estar más clar@s con los conceptos, les dejo estos significados:

Margin: Esta propiedad representa la distancia entre un elemento y sus elementos adyacentes, y se utiliza para controlar la posición de representación del elemento y la posición de representación de sus vecinos.

Padding: Esta propiedad representa la distancia entre un elemento y sus elementos secundarios y se utiliza para separar el control de su propio contenido.

Si deseas saber más información al respecto, puedes ingresar aquí.

Tip 4⃣: Habilitando el compilador de Xamarin

Puedes compilar directamente en el IL (Lenguaje Intermedio) con el XAMLC. Dicha acción nos trae algunas ventajas tales como:

🔷 Verificación en tiempo de compilación de XAML y notificación si de algún error.

🔷 Elimina algunos tiempos de carga y de instancia para los elementos XAML.

🔷 Ayuda a reducir el tamaño del archivo del ensamblaje final al no incluir más archivos .xaml.

¿Cómo habilitarlo? ¡Es super fácil!

¡Simplemente agrega la siguiente línea en su archivo .xaml.cs!

Si deseas saber más información al respecto, puedes ingresar aquí.

Tip 5⃣: Usando imageCel en los ListViews

Una de las formas más populares de mostrar los datos en un ListView es simplemente agregar una imagen y mostrar fechas como: Nombre y descripción. Para hacerlo, usualmente añadimos un código como este:

Pero ahora, aprendamos otra manera de hacerlo! ImageCell nos brinda algunas propiedades que nos permiten mostrar todos estos datos en un solo control, propiedades como: ImageSource, Text y Details. Veamos el ejemplo:

Y el resultado será así:

Si deseas saber más información al respecto, puedes ingresar aquí.

Gracias por leer mi artículo, espero les ayude!!! 💚

Artículo en inglés: https://askxammy.com/tips-to-improve-performance-in-xamarin-forms/

Referencia: https://www.youtube.com/watch?time_continue=2107&v=-STAXbsZ-zg

--

--

Leomaris Reyes

I'm Leomaris Reyes, Microsoft MVP from the Dominican Republic, with more than 6 years of experience in Software Development. ❤