Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Mvvmcross


Mvvmcross


MVVMCross es un marco MVVM (model-View-View-View-View) potente y obstinado diseñado para el desarrollo de aplicaciones multiplataforma dentro del ecosistema .NET. Admite varias plataformas, incluidas Xamarin.ios, Xamarin.Android, Xamarin.Forms, Universal Windows Platform (UWP), Windows Presentation Foundation (WPF) y más [1] [3] [4]. Aquí hay una descripción general de sus características clave y cómo funciona:

Características clave de mvvmcross

- Patrón de arquitectura MVVM: MVVMCross implementa el patrón MVVM, que separa la lógica de la aplicación en tres componentes interconectados: Modelo, Vista y ViewModel [3].
-Sistema de navegación: proporciona un sólido sistema de navegación, que permite una fácil gestión de las transiciones de Modelo a vista de visión [2] [4].
- Enlace de datos: MVVMCross incluye un motor de enlace personalizable, lo que permite a los desarrolladores crear enlaces personalizados para sus puntos de vista [4].
- Inversión de control (COI) e inyección de dependencia: el marco admite el COI a través de la inyección de dependencia, facilitando el acoplamiento suelto y la capacidad de prueba [3] [4].
-Soporte específico de la plataforma: ofrece un amplio soporte para características y funcionalidades específicas de la plataforma [3].
- Complementos y extensiones: MVVMCross incluye un marco de complementos que permite a los desarrolladores integrar fácilmente funcionalidades adicionales como GPS, localización y más [4].

Cómo funciona MVVMCross

Core y proyectos de UI

Las aplicaciones MVVMCross generalmente consisten en dos partes principales:

- Proyecto central: esto contiene la lógica comercial, ViewModels, Services y Modelos. Por lo general, se implementa como una biblioteca estándar de .NET para garantizar la compatibilidad multiplataforma [2].
- Proyectos de UI: cada plataforma (por ejemplo, iOS, Android) tiene su propio proyecto de interfaz de usuario, que incluye código y vistas específicas de la plataforma que interactúan con el proyecto central [2].

Objetos clave e inicialización

- Clase de aplicaciones: ubicada en el proyecto central, esta clase es responsable de registrar objetos personalizados con el contenedor IOC e inicializar la lógica de la aplicación [2].
- Objeto AppStart: Opcional, este objeto determina qué ViewModel presenta primero durante el inicio de la aplicación [2].
- Clase de configuración: encontrada en cada proyecto de plataforma, esta clase inicializa los servicios específicos de la plataforma MVVMCross y registra [2].

Proceso de inicialización

1. Inicio de plataforma: comienza el proceso de inicio de la plataforma nativa.
2. Configuración de mvvmcross: la clase `setup` inicializa el marco en dos pasos:` inicializePrimary` (hilo principal) y `inicializeConal` (hilo de fondo) [2].
3. Inicialización de la aplicación: la clase `APP` se inicializa y proporciona un objeto 'AppStart` para administrar el primer paso de navegación [2].

comenzando con mvvmcross

Para iniciar un nuevo proyecto MVVMCross, los desarrolladores pueden usar plantillas como MVXSCAFFOLDING. El marco está disponible a través de paquetes NUGET, que deben instalarse en proyectos básicos y específicos de la plataforma [3] [4]. Para guías y documentación detalladas, el sitio web oficial de MVVMCross y el repositorio de GitHub son excelentes recursos [1] [4].

Citas:
[1] https://www.mvvmcross.com
[2] https://www.mvvmcross.com/documentation/getting-started/mvvmcross-overview
[3] https://www.mvvmcross.com/documentation/getting-started/getting-started
[4] https://github.com/mvvmcross/mvvmcross
[5] https://www.mvvmcross.com/blog/
[6] https://github.com/mvvmcross
[7] https://x.com/mvvmcross?lang=en
[8] https://www.nuget.org/profiles/mvvmcross