Elegiría Xamarin, por muchas pequeñas razones, solo para enumerar algunas.
- Es rentable. No necesitará dos equipos separados para mantener dos aplicaciones separadas y cada uno tendrá sus propios errores (suponiendo que apuntará solo a iOS y Android, agregue un equipo más para UWP). En Xamarin, corrige un error una vez (en la PCL) y se corrige en todas las plataformas.
- Tiempo de comercialización más rápido. Si tienes un equipo, digamos de 4 desarrolladores. Dividir esto en equipos de 2 x 2 hará las cosas más lentas. En cambio, todos trabajan en la aplicación Xamarin, completando tareas más rápido.
- Soporte de día cero para iOS, ya que Apple les otorga acceso a herramientas alfa y otros recursos. Xamarin siempre admite nuevos controles iOS y API casi de inmediato. Sin embargo, no es tan rápido en Android.
En mi inicio, decidimos ir con Xamarin, nunca nos arrepentimos. Sin embargo, hay algunos inconvenientes para Xamarin.
- El compilador de Xamarin en Visual Studio no es tan estable como se podría pensar. Se bloquea, no se compila, lo que hace que la depuración sea un infierno. (Hasta que Microsoft lo solucione, lanzaron una solución en 2017, sin embargo, aún no lo probamos).
- A veces, es difícil encontrar los SDK correctos que admitan Xamarin. Si, por ejemplo, desea utilizar un SDK de chat de terceros y utilizar sus servidores como servicio. Estás muy limitado en opciones. Xamarin está ganando popularidad, aunque sigue siendo lento. Lo mismo se aplica para los controles de IU. Hay algunos que son buenos, pero la mayoría están mal mantenidos.
- a veces, tiene que escribir código nativo (sintaxis de C #) para sortear algunas limitaciones, renderizaciones personalizadas, acceder a funciones del dispositivo … etc.
Realmente necesitas pensar un poco, la información básica te ayudará. Me gusta ¿Cuánto tiempo / presupuesto tengo? ¿Cuántos recursos puedo dedicar? ¿Ya conocen C #? ¿Mi equipo ya conoce Android / Java e iOS / Swift?
- ¿Cuál es la mejor aplicación móvil para administrar clientes potenciales del negocio del automóvil?
- Quiero crear aplicaciones de realidad aumentada utilizando el marco Unity3D + Vufario pero me falta el conocimiento de programación. ¿Cómo puedo aprender esto?
- ¿Es malo diseñar múltiples interacciones que logren un mismo resultado?
- ¿Es Nativescript la solución correcta?
- ¿Por qué las aplicaciones móviles no son tan completas como los sitios web?
¡Buena suerte!