Para aquellos que todavía no lo conozcan, Xamarin es una plataforma de código abierto para compilar aplicaciones modernas y mejor rendimiento para iOS, Android y Windows con .NET.
Podríamos definir Xamarin como una capa que administra la comunicación entre el código compartido y el código de plataforma subyacente.
Esta plataforma se ejecuta en un entorno administrado que nos proporcionará ventajas. Como la asignación de memoria y/o la recolección de elementos no utilizados.
Su ventaja es clara, Xamarin permite a los desarrolladores compartir un promedio del 90% de la aplicación entre plataformas. Esto permitirá a los desarrolladores escribir toda la lógica de negocios en un único lenguaje (o reutilizar el código de aplicación existente), permitiéndonos conseguir un rendimiento y una apariencia nativos en cada plataforma.
Y les permitirá escribir las aplicaciones de Xamarin en PC o Mac, y compilar en paquetes de aplicación nativos, como un archivo .apk en Android o .ipa en iOS.
Xamarin.Essentials es una librería que proporciona API multiplataforma para características de dispositivos nativos. Y como el propio Xamarin, Xamarin Essentials es una abstracción que simplifica el proceso de acceso a la funcionalidad nativa.
Algunos ejemplos de la funcionalidad proporcionada por Xamarin.Essentials son los siguientes:
De igual manera, Xamarin Essential nos puede proporcionar información relevante para el desarrollo de nuestras Apps. Como verificar el estado de la conexión a la red, acceso al sistema de archivos, almacenar preferencias, geolocalización, etc.
Otro de los puntos interesantes de esta librería es que, siendo una librería oficial de Xamarin, permite que la comunidad de desarrolladores aporte cambios para dar acceso a más funcionalidades. Por lo que es una librería que siempre está en continua expansión y mejora.
Además, hay que añadir que, a pesar de ofrecer muchas funciones, está preparada para que la App final solo se incluya el código de aquellas que se usen. Lo que contribuye a que el resultado final de nuestra App sea más liviano.
Si quieres comenzar a utilizar esta librería, puedes seguir esta Guía de introducción.
InAppBilling es un plugin que nos permitirá acceder al sistema de compras dentro de la App. Tanto si son consumibles como si son suscripciones, para realizarlas o restaurarlas.
Una de sus principales barreras es que los sistemas de compras internas en Apps son bastante complejos. Además de ser completamente distintos entre sistemas Android e iOS.
Siendo completamente necesario comprender cómo funcionan ambos sistemas para poder registrar las compras o la renovación de suscripciones que se hacen dentro de nuestra aplicación.
La principal ventaja que nos ofrece este plugin es la facilidad y sencillez con la que nos permite su integración en nuestra App.
Según lo definen en su página web oficial, Lottie es una biblioteca nativa de iOS, Android y React que procesa las animaciones de After Effects en tiempo real. Lo que permite que las aplicaciones usen las animaciones con la misma facilidad que usan las imágenes estáticas.
Lottie es una librería desarrollada por la famosa compañía de alojamientos Airbnb. Y como bien definen en su web, su principal función es ejecutar animaciones de Adobe After Effects en aplicaciones móviles.
LottieXamarin nos permitirá utilizar Lottie sin tener que realizar ningún desarrollo adicional reduciendo notablemente nuestro tiempo de desarrollo, y junto con el portal LottieFiles, el cual contiene cientos de miles de animaciones listas para usar, podemos desarrollar y disponer de una App con animaciones fluidas y elaboradas en cuestión de minutos.
Estas son las 3 librerías clave de Xamarin que todo desarrollador debe conocer, pero puedes encontrar estas y muchas más librerías en listas como esta, curada por Javier Suárez Ruiz, Ingeniero de Software de Xamarin.Forms en Microsoft.