Ventajas de usar Xamarin:
1. Xamarin es uno de los mejores frameworks de desarrollo móvil multiplataforma en el verdadero sentido. Cuando digo sentido verdadero, quiero decir que no es como los otros marcos de desarrollo móvil HTML, JavaScript. Le permite utilizar bibliotecas casi 100% nativas de Android e iOS.
2. Idioma : en lugar de que un entusiasta de la aplicación aprenda tres idiomas diferentes (Objective C o el último lenguaje Swift para iOS, Java para Android y C # para Windows Phone), es más fácil salir de los bloques con un solo idioma (C #) para las tres plataformas.
3. Patrones arquitectónicos de software : con Xamarin se hace mucho más fácil para el desarrollador adoptar el patrón MVC o MVVM. Con un par de bibliotecas externas de Nuget, puede aprovechar las increíbles funciones como enlace de datos, comandos, etc.
4. Xamarin.Forms : Xamarin Forms se lanzó como parte de la última versión de Xamarin 3.0. Es una API muy simple que permite a los desarrolladores crear una hermosa interfaz de usuario nativa para todas las plataformas. Esto aumenta la base de código compartido, lo que facilita a los desarrolladores.
Contras de usar Xamarin:
1. Necesidad : al final del día, depende de la aplicación que esté planeando desarrollar. Si está seguro de que solo va a apuntar a Android, utilizando Java nativo, Android SDK sería una mejor opción.
2. Interfaz de usuario : aunque Xamarin Forms ofrece alrededor de 40 controles de interfaz de usuario a partir de hoy (y sigue creciendo), no tiene acceso a todos los demás controles de interfaz de usuario específicos de Android y tendría que escribir código específico de la plataforma para dichos controles.
3. Java-Love: Si hasta ahora has sido un desarrollador de Java y has desarrollado un amor por él, puede que no sea fácil cambiar a Xamarin muy rápidamente, y desarrollar en Java sería mejor.
- Cómo tener una aplicación preinstalada en una tarjeta SIM
- ¿Qué tan bueno es Crashlytics para aplicaciones de Android?
- ¿Cómo comenzar con el desarrollo de Android? ¿Cuáles son las plataformas gratuitas disponibles para aprender el desarrollo de aplicaciones de Android?
- Cómo leer todos los valores clave secundarios de un elemento secundario de la base de datos de Firebase en Android
- ¿Cuáles son las habilidades que deberían existir en un currículum de desarrolladores de Android para atraer a todos los reclutadores?