Cómo se usa Prism en Xamarin

Cómo se usa Prism en Xamarin

Introducción de Prism

Prism es un marco que facilita las características adicionales para los desarrolladores. Hace que la aplicación Xaml esté débilmente acoplada, sea confiable, optimizada y mantenible para múltiples plataformas como Xamarin.Forms, WPF, Windows10 y UWP (forma de placa de Windows universal).

Básicamente, prisma se utiliza para implementar los patrones de diseño cuando desarrollamos cualquier aplicación móvil. El principio de diseño hace que nuestro código sea adecuado y una arquitectura bien formateada y fácil de entender y mantener. El mecanismo de Prisma tiene sus propias bibliotecas y plantillas.

Las bibliotecas de prismas Básicamente nos ayudan a implementar patrones de diseño dentro de proyectos como MVVM, inyección de dependencia, comandos, agregador de eventos, etc.Prisma utilizado para compartir código por PCL (biblioteca de clases portátil) y compartido en las 3 plataformas (Android, IOs y UWP) .
Prisma diseñado de acuerdo con el principio de diseño arquitectónico central que se centra principalmente en la separación de código y el acoplamiento flexible. Implementa la arquitectura del principio SOLID durante el desarrollo. Prism permite al desarrollador crear y desarrollar módulos individualmente, que es fácil de probar y mantener para diferentes plataformas de destino.

Todo el proceso se realiza en el MVVM (Model View-View Model) .Prism tiene su propia plantilla y estructura y se integra con diferentes IDE como Visual Studio y Xamarin Studio. Que se utiliza para crear un flujo de trabajo altamente efectivo y productivo y arquitectura para varias plataformas como WPF, UWP y aplicaciones nativas de iOS y Android que utilizan Xamarin.Forms.

Hay varias versiones lanzadas por Microsoft. Actualmente, la última versión actualizada es 7.2.0.708 pre. Todas las últimas versiones son completamente de código abierto. Prism nos ayuda a construir un patrón de diseño más flexible, comprobable y mantenible.

Patrón de diseño (MVVM)

MVVM (Model View- View Model) es una arquitectura de patrón de diseño que aumenta el rendimiento de la aplicación, básicamente se utiliza para la separación entre la interfaz de usuario (View) y la lógica empresarial (Model). Este patrón se utiliza básicamente para el enlace bidireccional entre la vista del modelo y el modelo de vista. Aumenta el rendimiento de la aplicación y reduce el tiempo de enlace de datos. Hace que la aplicación sea más rápida.

MVVM tiene principalmente las siguientes capas:

  • Modelo: El modelo representa principalmente la lógica empresarial y también contiene la información. El modelo lee y actualiza los datos a través de un modelo de vista y se vincula dentro de la interfaz de usuario.
  • Vista: La vista representa la IU (interfaz de usuario), la estructura, el diseño que visualizó el usuario en la pantalla. Observe y obtenga los datos del modelo a través de un modelo de vista, actualice los elementos de la IU en consecuencia.
  • ViewModel: View Model interactúa con el modelo y también prepara observables que pueden ser observados por un modelo View.View funciona como un mediador entre View y Model. Una vista se vincula directamente a las propiedades del modelo de vista para enviar y recibir actualizaciones mediante eventos de propiedad modificada.

El siguiente diagrama muestra los componentes MVVM y las interacciones básicas

Por qué Prism:

Cuando creamos un nuevo proyecto de Xamarin Forms. Como a todos los desarrolladores de aplicaciones les gustaría seguir la mejor arquitectura y patrón de diseño para mejorar el rendimiento y la calidad del código de la aplicación, estas son algunas de las razones:

  • Prism nos ayuda a hacer que la aplicación sea más fácil de mantener y acoplada libremente, lo que hace que las aplicaciones sean más fáciles de probar.Funciona en el principio de responsabilidad única.Eso es parte del principio SOLID.En este principio, cualquier módulo de alto nivel no depende directamente del módulo de bajo nivel.
  • Prism hace que el código sea reutilizable y flexible para nuevos cambios. Cualquier desarrollador nuevo puede comprender fácilmente la funcionalidad existente y actualizarla. Esta característica mejora el rendimiento y la calidad del código.
  • Prism tiene sus propias plantillas y biblioteca, por lo que podemos decir que es muy completo y simple. Tiene su propia estructura que contiene todos los módulos de navegación, eventos.
  • Prism siguió la arquitectura MVVM que agiliza la aplicación.
  • Prism admite diferentes plataformas como WPF, Windows, UWP, Xamarin.Forms, etc.

Beneficios de Prism:

  1. Reutilización de código: Prisma que permite reutilizar los servicios y componentes comunes, disminuye la línea de código, limpia y mejora la calidad del código. Hace que la aplicación esté bien estructurada y reduce el tamaño de la aplicación. La aplicación construida es más liviana y flexible.
  2. Flexibilidad y capacidad de mantenimiento: Prism ayuda a crear aplicaciones que son fáciles de ampliar mediante la gestión de las dependencias de los componentes, Prism permite que los componentes mejoren fácilmente la funcionalidad se integren sin afectar a otros módulos. Todos los módulos funcionan de forma independiente, no dependen unos de otros. Es fácil de mantener.
  3. Flexibilidad y confiabilidad: Prism ayuda a crear aplicaciones flexibles al permitir que se actualicen más fácilmente a medida que se desarrollan e integran nuevas capacidades. Prism ayuda a construir una aplicación poco acoplada. Módulo de alto nivel que no depende del módulo de bajo nivel. El usuario puede actualizar fácilmente la lógica.
  4. Modularidad y desarrollo del equipo: Prism promueve la modularidad que permite que el desarrollador y el equipo puedan desarrollar e implementar su propio módulo individualmente. Su preocupación por la separación y la implementación de funcionalidad discreta. Todos los múltiples módulos pequeños se escriben por separado. que hace que el proyecto sea más flexible cuando trabajamos en equipo.
  5. Rendimiento efectivo: el patrón de diseño de prisma se utiliza para aumentar la calidad de las aplicaciones porque permite que el usuario pueda reutilizar los servicios y componentes comunes con módulos completamente probados. Este patrón de diseño mejora el rendimiento de la aplicación y aumenta la calidad del código.

Implementación con Xamarin Form:

Paso 1 :
Para utilizar el mecanismo Prism tenemos que instalar Prism Template Pack. Podemos instalarlo desde Visual Studio Gallery. A continuación se muestran los pasos que tenemos que seguir.
Visual Studio -> Herramientas -> Extensiones y actualizaciones

Después de la instalación exitosa de Prism Template Pack, cree una nueva solución. Siga los pasos a continuación.
Archivo> Nuevo> Proyecto ... seleccione Instalado> Visual C #> Prisma.
Aquí puede ver todas las plantillas disponibles para un nuevo proyecto de Prism ...

Paso 2 :
Seleccione Prism Blank App (Xamarin.Forms) y complete el nombre de su proyecto / solución y haga clic en Aceptar

Paso 3 : En el siguiente paso, puede ver que tenemos una plataforma de destino diferente como Android, iOS, UWP con inyección de dependencia. Seleccione de acuerdo con sus requisitos con el contenedor que le gusta usar y estamos usando el contenedor de inyección de dependencia DryIoc.

Paso 4: El método de tipo de registro se utiliza para registrar cada servicio que utilizará para la navegación en el futuro. Funciona como un contenedor y este método se utiliza para registrar el servicio de navegación completa dentro del registro container.it utilizando el método IContainerRegistry.RegisterForNavigation en el método RegisterTypes. Este método se define dentro de la página App.cs. Porque App.cs es una primera página ejecutable de la aplicación.

Conclusión:

La arquitectura Prism brinda al desarrollador la posibilidad de crear aplicaciones con algunas características adicionales como aumentar la reutilización del código, la capacidad de mantenimiento, todas las funciones poco acopladas y el código mucho más legible y flexible. Hace que la aplicación sea más rápida.

Video

  • https://youtu.be/E84fByBfPqk