programacion - visual studio android c#
Desventajas del desarrollo de aplicaciones móviles multiplataforma con Visual Studio (1)
Microsoft ha presentado su nuevo Visual Studio, con compatibilidad para desarrollar aplicaciones multiplataforma para Android, iOS y Windows.
Esta es una muy buena noticia para los desarrolladores, que una compañía grande y confiable produjo tal cosa. Puede hacer la vida más fácil, mucho.
Pero, como usted sabe, siempre hay desventajas cuando obtiene ventajas. Entonces quiero saber:
1) ¿Cuál es la diferencia entre desarrollar aplicaciones nativas para cada plataforma y usar este tipo de herramientas? ¿Cuál es la desventaja en comparación con el uso por ejemplo de Objective-C o Java para iOS y Android por separado?
2) ¿Hay alguna dependencia para ejecutar aplicaciones desarrolladas en diferentes sistemas operativos? Algo como .NET framework?
3) ¿Hay algún costo de rendimiento? ¿O funciona igual que los nativos?
4) ¿Qué tipo de aplicaciones se supone que deben desarrollarse con tales herramientas?
Desde mi punto de vista, esta no es una buena idea para desarrollar aplicaciones Android o iOS en XAMARIN. En primer lugar, se produce un problema de rendimiento. No puede lograr el rendimiento como una aplicación nativa. Hay algunas dependencias como Xamarin compila C # con código nativo, pero todavía depende del tiempo de ejecución Mono para hacer mucho de su trabajo.
Nativo, sin trampa: es nativo. Pero hay una sobrecarga, no es como ObjectiveC nativo. Las aplicaciones van a ser más grandes: estas cosas menores importan cuando estás tratando de sacar el máximo provecho de tu dispositivo móvil de recursos muy restrictivos.
Todavía necesita un mac para ios :-) Un gran énfasis en mejores patrones de aplicaciones como MVC o MVVM, porque la interfaz de usuario sigue siendo nativa. Puedes escribir un 70% de código reutilizable usando Xamarin, pero el último 30% o más dependiendo del diseño y la naturaleza de tu aplicación, debe ser nativo.
En términos generales, en mi experiencia, he tenido más suerte en encontrar ejemplos de soporte y códigos para nativos que para Xamarin.
Y como dije, todavía necesitas saber ObjectiveC y Java, incluso si estás usando Xamarin.
Y Visual Studio + Xamarin = $$$$$. Además, un producto desarrollado por Xamarin, aunque es superior que HTML5 y HTML5 empaquetado, le costará más. Debe evaluar si sus necesidades justifican el costo.
Sin embargo, en la aplicación práctica, no creo que sea muy útil. Considere esto ... Si está codificando en C #, entonces este código debe traducirse en Objectivo-C o Java, y esa traducción depende del SDK de Xamarin. Si Apple lanza 4.000 nuevas API en el próximo lanzamiento de iOS mañana, ¿cuánto tiempo pasará antes de que la API de Xamarin le permita llamar a esas API nativas? Y multiplicado por dos si se agrega Java. Si no puede esperar, codifique lo que pueda en C # y luego escriba el código nativo para el resto, pero ahora admite tres bases de código y la ventaja de Xamarin sale volando por la ventana.
Proporciono algunos enlaces de debate sobre este tema
http://willowtreeapps.com/blog/xamarin-or-native-development-tools-for-ios-android-projects/
Limitación de Android Xamarin
https://developer.xamarin.com/guides/android/advanced_topics/limitations/
https://www.linkedin.com/grp/post/121874-5848849341191569409