Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon ¿Cuáles son los principales inconvenientes del uso de mvvmcross para aplicaciones Android e iOS?


¿Cuáles son los principales inconvenientes del uso de mvvmcross para aplicaciones Android e iOS?


MVVMCross es un marco popular para el desarrollo móvil multiplataforma utilizando xamarin, lo que permite a los desarrolladores aprovechar el patrón MVVM en Android, iOS y otras plataformas. Sin embargo, a pesar de sus beneficios, hay varios inconvenientes a considerar al usar MVVMCross para aplicaciones de Android e iOS:

1. Curva de complejidad y aprendizaje: MVVMCross es un marco grande que requiere tiempo para comprender completamente. Los nuevos desarrolladores pueden encontrar difícil comprender sus fundamentos, como cómo se transfiere el contexto de datos entre los componentes [1]. Esta complejidad puede conducir a una curva de aprendizaje más pronunciada en comparación con los marcos más simples.

2. Problemas de rendimiento: algunos usuarios han informado problemas de rendimiento, como tiempos de inicio lentos y retrasos en los enlaces de ListView. Estos problemas pueden atribuirse a MVVMCross, Xamarin o la plataforma Android en sí, lo que dificulta identificar la causa exacta sin un perfilador de rendimiento [1].

3. Mensajes de error y depuración: los mensajes de error del marco podrían ser más informativos. En lugar de solo informar errores, podrían sugerir posibles soluciones, lo que ayudaría en una depuración y desarrollo más rápidas [1].

4. Reutilización y probabilidad: mientras MVVMCross tiene como objetivo mejorar la capacidad de prueba al separar la lógica comercial de la vista, en la práctica, los modelos de vista pueden ser hinchados y difíciles de probar. Esto es particularmente cierto si manejan múltiples responsabilidades y mantienen el estado interno, lo que dificulta probar los métodos de forma independiente [2]. Además, los modelos de vista a menudo se vuelven no reutilizables en diferentes controladores de vista debido a sus implementaciones específicas [2].

5. Desafíos específicos de la plataforma: sobre Android, la fragmentación y la pila Java pueden plantear desafíos adicionales. Por ejemplo, el uso de imágenes Intel Android X86 en emuladores puede conducir a peculiaridades como el registro excesivo o los problemas de red [1]. En iOS, la falta de enlaces incorporados puede complicar la implementación de MVVM, lo que lleva a una dependencia excesiva en los controladores de vista o modelos de vista para tareas que no deben manejar [2].

6. Documentación y tutoriales anticuados: ha habido preocupaciones sobre tutoriales y documentación obsoletos para MVVMCross. Esto puede dificultar que los nuevos desarrolladores comiencen o se mantengan al día con los cambios en el marco [5].

7. Longevidad y apoyo: se han planteado preguntas sobre la madurez y la longevidad del marco, particularmente en el contexto de tecnologías móviles en rápida evolución. Esto puede afectar las decisiones sobre si usar MVVMCross para proyectos comerciales [5].

En general, mientras que MVVMCross ofrece ventajas significativas en el desarrollo multiplataforma, su complejidad, problemas de rendimiento y desafíos específicos de la plataforma necesitan una consideración cuidadosa al decidir si usarlo para las aplicaciones Android e iOS.

Citas:
[1] https://blog.rthand.com/a-week-of-impressions-of-developing-for-android-using-xamarin-mvvmcross/
[2] https://www.danielhall.io/the-problems-with-mvvm-on-ios
[3] https://www.mvvmcross.com/documentation/upgrading/upgrade-to-mvvmcross-60
[4] https://learn.microsoft.com/en-us/archive/msdn-magazine/2014/august/windows-phone-build-mvvm-apps-with-xamarin-and-mvvmcross
[5] https://xamarin21.rssing.com/chan-23562832/article1771.html
[6] https://stackoverflow.com/questions/16301045/mvvmcross-v3-is-that-wrong-to-try-to-use-behaviourss-and-storyboards-in-a-mu
[7] https://www.reddit.com/r/dotnet/comments/1cqqika/worth_converting_net_androidios_to_maui/
[8] https://mentormate.com/blog/6-reasons-mvvmcross-speeds-xamarin-development-personalizes-ux/
[9] https://stackoverflow.com/questions/26108486/should-i-use-mvvvmcross-for-xamarin-forms-and-windows-store-app