La respuesta correcta a esto depende en gran medida de los requisitos específicos de su aplicación. Xamarin es, de hecho, una plataforma más poderosa e integral, con experiencias de depuración y herramientas significativamente mejores. Sin embargo, no se deje engañar: hay una curva de aprendizaje bastante pronunciada, especialmente para los desarrolladores que son nuevos en dispositivos móviles en general. No es necesario que aprenda solo la cadena de herramientas Xamarin y C #; también necesita conocer las plataformas y modelos de aplicaciones iOS y Android (y WinPhone también para muchas personas). Es posible que no necesite aprender Java y Objective-C, pero aún necesita aprender esas API.
Para las aplicaciones más simples, donde su equipo tiene un conocimiento mínimo de los entornos móviles, ya se sienten cómodos con javascript / html, y donde el éxito depende menos del rendimiento / capacidad de respuesta y el “pulido” visual de la interfaz de usuario, entonces Cordova podría ser suficiente. Muchas empresas prueban esta ruta primero porque es ciertamente más barata (en términos de costo de inversión inicial, NO costo general del ciclo de vida) y especialmente atractiva para los equipos de desarrollo que se consideran “tiendas web”. Incluso si terminan abandonando a Cordova y cambian a nativo o nativo / Xamarin, aún habrán ingresado al mercado móvil rápidamente y habrán aprendido algunas lecciones sobre el mundo móvil.
Sin embargo, es un escenario bastante común encontrar compañías que probaron Cordova primero y lo están reemplazando con una solución de Xamarin. El 75% de los proyectos para los que he sido contratado han sido así. O chocaron contra una pared de ladrillos con Cordova (o alguna otra plataforma híbrida) en funcionalidad o rendimiento, o encontraron que era demasiado molesto mantenerlo. En muchos casos, los usuarios finales se han quejado (en voz alta) sobre la interfaz de usuario, generalmente porque las aplicaciones híbridas realmente nunca coinciden con el aspecto y la sensación de UX de una verdadera aplicación nativa … especialmente justo después del lanzamiento de un nuevo sistema operativo. He visto algunas aplicaciones híbridas que se ejecutan en iOS8 que podrían haber sido toleradas en iOS5 días, pero que son completamente horribles para los estándares UX actuales. Las aplicaciones nativas adoptan automáticamente el UX actualizado (siempre que usen los controles integrados en lugar de los controles de IU personalizados) y, por lo general, no sufren este problema.
- ¿Es posible saber qué está haciendo en su Android, desde mi Android?
- ¿Cuál es la diferencia entre SDK y JDK? ¿Cuál es su relación con el estudio de Android?
- ¿Cuáles son los elementos que debe tener el rastreador de período?
- ¿Cuáles son los mejores cursos relacionados con Android y el desarrollo de aplicaciones?
- ¿Cuál es la mejor manera de desarrollar una aplicación para Android e iOS, React Native u otra cosa?