Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon ¿Se puede integrar mvvmcross con otros marcos o bibliotecas?


¿Se puede integrar mvvmcross con otros marcos o bibliotecas?


MVVMCross es un marco MVVM versátil y extensible diseñado para el desarrollo multiplataforma, particularmente dentro del ecosistema .NET. Admite una amplia gama de plataformas, incluidas Xamarin.ios, Xamarin.Android, Xamarin.Forms, Universal Windows Platform (UWP) y Windows Presentation Framework (WPF) [1] [2] [4]. Una de las características clave de MVVMCross es su capacidad para integrarse con otros marcos y bibliotecas, mejorando su utilidad en el desarrollo complejo de aplicaciones.

Integración con otros marcos

1. Integración CSLA.NET: MVVMCross se puede usar junto con CSLA.NET, un marco de objetos comerciales. Mientras que CSLA.NET se centra en la lógica comercial y el modelado de datos, MVVMCross maneja la UI y la lógica de nivel de aplicación. Los desarrolladores pueden aprovechar el marco de objetos comerciales de CSLA.NET heredando de 'ViewModelBase` de CSLA e implementando los requisitos de MVVMCross. Esta integración permite compartir código en todas las plataformas mientras mantiene una clara separación de las preocupaciones [5].

2. ReactiveUi Integration: aunque MVVMCross y ReactiveUI son marcos MVVM, tienen diferentes propósitos. MVVMCross se centra más en las aplicaciones móviles nativas y el intercambio de códigos, mientras que ReactiveUI enfatiza la programación reactiva utilizando extensiones reactivas (RX). Si bien pueden coexistir, generalmente se usan para diferentes aspectos del desarrollo de aplicaciones. MVVMCross proporciona un conjunto integral de características para el desarrollo de la UI, mientras que ReactiveUI es ideal para aplicaciones que requieren operaciones asincrónicas avanzadas [7].

3. Xamarin. Formas y otros marcos de UI: MVVMCross admite la integración con Xamarin.Forms, lo que permite a los desarrolladores crear aplicaciones multiplataforma con Logic Business Shared. También funciona bien con otros marcos de UI como Maui y WPF, proporcionando flexibilidad para elegir la capa de UI [3] [7].

4. Marco de complementos: MVVMCross incluye un marco de complementos que permite a los desarrolladores extender su funcionalidad al agregar complementos de terceros para características como ubicación GPS, localización y extensiones de enlace. Esta extensibilidad permite a los desarrolladores personalizar el marco de acuerdo con las necesidades de su proyecto [1] [2].

Características clave que facilitan la integración

- Inversión de control (COI) e inyección de dependencia: MVVMCross proporciona un contenedor de COI que facilita la inyección de dependencia, lo que facilita la integración con otros marcos administrando dependencias y servicios en la aplicación [1] [4].

- Motor de enlace personalizable: el marco permite a los desarrolladores crear enlaces personalizados para sus vistas, lo que puede ser útil al integrarse con otros componentes o marcos de la interfaz de usuario que requieren mecanismos específicos de enlace de datos [1] [2].

- ViewModel to ViewModel Navigation: esta característica ayuda a administrar la lógica de navegación, que puede integrarse con los patrones de navegación de otros marcos para garantizar una experiencia de usuario consistente en diferentes plataformas [1] [2].

En resumen, MVVMCross está diseñado para ser altamente integrable con otros marcos y bibliotecas, lo que permite a los desarrolladores aprovechar sus fortalezas en la arquitectura MVVM al tiempo que incorpora funcionalidades adicionales de otras herramientas. Su extensibilidad y soporte para varias plataformas lo convierten en una opción versátil para el desarrollo de aplicaciones multiplataforma.

Citas:
[1] https://github.com/mvvmcross/mvvmcross
[2] https://dotnet.libhunt.com/mvvmcross- alternativo
[3] https://visualstudiomagazine.com/articles/2018/05/08/build-a-xamarin.forms-application.aspx
[4] https://www.mvvmcross.com/documentation/getting-started/getting-started
[5] https://stackoverflow.com/questions/17373587/how-well-would-mvvvmcross-and-csla-net-work-together-in-a-multi-platform-strategy
[6] https://www.mvvmcross.com/documentation/getting-started/mvvmcross-overview
[7] https://www.reactiveui.net/vs/mvvmcross
[8] https://www.mvvmcross.com
[9] https://github.com/rogerwcpt/xamarin-mvvvmframeworks