Hola techies, ha sido bastante tiempo desde mi ultimo post. Esta vez queria recopilar brevemente alguno de los paquetes mas interesantes y útiles que he encontrado mientras trabajan en aplicaciones con Xamarin y que ha resulto mas de un dilema.

10. TK Custom Map

Este paquete nos permite incluir mapas y características de Google Maps en nuestras aplicaciones móviles con ciertas mejoras sobre el paquete Xamarin.Forms.Maps que incluye el propio Xamarin. Propiedades listas para enlazar siguiendo el patron MVVM. Particularmente, este paquete anda en busca de soporte para continuar con el mantenimiento asi que no estaria mal echarle una mirada.

Github: https://github.com/TorbenK/TK.CustomMap

9. Microcharts

Este excelente paquete es la respuesta a todas las veces que necesitamos una librería para graficas que no sea de pago o freemium. Las graficas son renderizadas utilizando Skia por lo que no tienes porque preocuparte en el desempeño.

Github: https://github.com/dotnet-ad/Microcharts

8. MonkeyCache

Este regalo de James Montemagno nos permite agregar la capacidad de cache a nuestras aplicaciones móviles de manera bastante simple. Cuenta con implementaciones para almacenar nuestra información en SQLite, LiteDB o simplemente en archivos dentro del folder de la aplicación. Si te interesa, hay un episodio de su podcast donde hablan al respecto Merge Conflict: Episode 76 .

Github: https://github.com/jamesmontemagno/monkey-cache

7. PancakeView

Este paquete nos da acceso a un control que multiplica nuestras opciones de diseño, PanckageView, soportando una variedad de personalizaciones en cuanto a el radio en las esquinas, degradados como color de fondo, bordes y más.

Github: https://github.com/sthewissen/Xamarin.Forms.PancakeView

6. RG.Plugins.Popup

Este increíble paquete nos permite crear paginas de Xamarin.Forms como popups, con diferentes tipos de animaciones de entrada y nos da la libertad de implementar el diseño que queramos. ¿Olvide mencionar que el patron MVVM se ajusta muy bien al utilizarlo?

Github: https://github.com/rotorgames/Rg.Plugins.Popup

5. Refit

Los que trabajamos con aplicaciones móviles sabemos que una parte increíblemente importante de una aplicación móvil es el consumo de servicios web y en ese sentido, Refit me ha sido de extrema ayuda siempre. Esta libreria inspirada por Retrofit nos permite definir nuestros clientes de forma declarativa evitando repetir el código serializa request, deserializa la respuesta, lidia con cabeceras, etc.

Github: https://github.com/reactiveui/refit

4. Acr User Dialogs

Este paquete nos permite crear, desde código, diálogos reutilizables que son infaltables en toda aplicación. Desde alerts, cuadros de progreso o carga, toasts, hasta cuadros de confirmación. Productividad para lidiar con la interacción de usuario en una aplicación móvil, definitivamente uno de los primeros paquetes que instalo cuando inicio un nuevo proyecto.

Github: https://github.com/aritchie/userdialogs

3. Prism

Esto mas que un paquete, es una librería extremadamente popular y que definitivamente merecía un espacio en esta lista. Advertencia, su uso es extremadamente adictivo. Resuelve muy bien los problemas de navegación y cambio de paradigma dentro de nuestra aplicación móvil , como el uso de Master-detail, Tabs, Navigation Pages o todo junto si lo deseamos. Como un framework que es necesita aprenderse para poder sacarle el juego pero me parece que vale la pena para proyectos grandes que desean enfocarse en la mantenibilidad.

Github: https://github.com/PrismLibrary/Prism

Documentación: https://prismlibrary.com/docs/xamarin-forms/creating-your-first-prism-app.html

2. Sharpnado.Presentation.Forms

Me fue dificil no poner este paquete en el numero 1, pero considero que tiene fantásticas cosas que brindar a muchas aplicaciones. La gente detrás de Sharpnado realmente se toma en serio Xamarin.Forms y sorprenden con sus creativos diseños. Es 100% recomendado seguirlos en su blog y ver las cosas increíbles que hacen, como pueden ver en la imagen. https://www.sharpnado.com/sharpnado-goes-acrylic/. Yo los incluyo porque su paquete de Sharpnado.Presentation.Forms, nos permite entre muchas otras cosas, tener un completo control sobre como queremos implementar nuestras Tabs, un patron de navegación bastante popular pero que diseños mas reales suelen ser muy exigentes para Xamarin.Forms en donde no podíamos personalizar mucho las cosas desde el lado corss-platform, pero tranquilos, Sharpnado al rescate.

Github: https://github.com/roubachof/Sharpnado.Presentation.Forms

1. Fody PropertyChanged

No pensé incluir como Top 1, un paquete que no fuera de indole visual, considerando que Xamarin.Forms es un framework sobretodo de UI, pero Fody PropertyChanged , es uno de esos paquetes que instalamos cada vez que usamos Mvvm, no importa que clase de proyecto sea, pequeño, mediano o gigante. Fody introduce en tiempo de compilación el código necesario para implementar propiedades y notificar su cambio (INotifyPropertyChanged). Eliminando así el tedio que representa hacer eso nosotros mismos para todas las propiedades de nuestros modelos o ViewModels que vayamos a enlazar a vistas o controles.

Github: https://github.com/Fody/PropertyChanged

Si les gusto, no olviden dejar un comentario. Si tienen una idea para un próximo articulo o tienen en mente algun paquete que deberia estar en esta lista