Revisando mi Legacy code

Una de las cosas que más me gusta de mi trabajo haciendo aplicaciones móviles es la constante evolución. Esto hace que siempre tengas un cambio que hacer, una mejora de rendimiento, utilizar un nuevo control de nuestro querido Xamarin.Forms o cualquier otra cosa que se te ocurra.

Hablando con mi amigo Diego, me abrió los ojos a la hora de hacer uso de una caché en nuestras aplicaciones, ya que por defecto vamos a por SQLite y andamos toqueteando las cosas con nuestro popular async/await de C#. Pero claro, te llega alguien con los argumentos básicos y no te queda otra que escuchar lo que te está diciendo y revisar, por supuesto, el modo en el que has estado haciendo las cosas hasta ahora. Te dejo el enlace al artículo de Diego para que le eches un ojo y decidas por ti mismo.

Luego le llega el turno a mi queridísimo ReactiveUi, ese framework que tantas alegrías me da, pero que tantos sin sabores te deja en el día a día. He ido utilizándolo a diario este último par de años y he pasado de ser un auténtico talibán de hacerlo todo Observable a utilizarlo a conveniencia.

Al igual que con SQLite, con ReactiveUi me he ido a las bases y ahora intento aprovechar todo su potencial cuando me conviene y evitando hacer un uso “por pelotas” para que todo fuese Observable.

Como siempre, para ir viendo la evolución personal, no sólo cuenta con lo que vas haciendo en tu día a día, ya que normalmente no somos capaces de ver la imagen completa, sino que toca coger un proyecto de esos que tienes por GitHub y darle un vuelta. No recomiendo nada hacerlo, las sorpresas suelen ser muy desagradables. 😉

Yo me he cogido el fin de semana para revisar este proyecto y ver qué hacía, cómo lo hacía y de paso, maravillarme con todo lo que el equipo de Xamarin.Forms ha puesto a nuestra disposición.

Una de las primeras cosas que he cambiado ha sido el tema caché, pasando de Akavache a SQLite. Esto no es un cambio drástico, pero si es cierto que aporta, en mi opinión, simplicidad y mayor claridad a la hora de leer el código, que al final es a lo que nos dedicamos.

También he ido refactorizando un poco el XAML, sin muchas pretensiones y por último, le he dado una vuelta al tema del rendimiento con listas de muchos elementos e imágenes. Para esto me he apoyado en un artículo que he leído este fin de semana de la Weekly Xamarin, concretamente este y lo cierto es que mejora bastante el rendimiento. Yo no he implementado un DatatemplateSelector pero sí he eliminado los Bindings para hacer una aproximación distinta y probar. Me ha gustado el resultado.

En cuanto a la aplicación, es una prueba de código que hice hace algo más de un año para una empresa de Irlanda con la que finalmente no llegué a un acuerdo. Sin embargo, ahora tengo una aplicación con la que ir jugando y viendo mi evolución.

Ahora toca esperar un tiempo para seguir viendo la evolución de las plataformas, iOS y Android y ver la evolución de mis dos frameworks favoritos, Xamarin.Forms y ReactiveUi y cómo no, ver cómo continúa mi propia evolución.

Larga vida al Legacy Code!

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s