diciembre 26, 2024

CORSA Online

Información sobre Argentina. Seleccione los temas sobre los que desea obtener más información en Corsa Online

Desarrollo Blazor: Componentes que siempre encajan

Desarrollo Blazor: Componentes que siempre encajan

Los desarrolladores pueden utilizar la biblioteca de clases Razor para utilizar componentes Razor comunes a las cuatro variantes de Blazor (Blazor WebAssembly, Blazor Server, Blazor Desktop y Blazor MAUI), como se explica en el artículo “Implementación de Blazor para todas las plataformas”.

anuncio

Las diferencias entre los cuatro tipos de Blazor también incluyen el hecho de que permiten diferentes estructuras de capas (Figuras 1 y 2):

  • Blazor WebAssembly es siempre una aplicación de 3 niveles porque se ejecuta en el entorno limitado del navegador web, que solo proporciona acceso a los servicios web basados ​​en HTTP(S) (incluidas las API REST, otras WebAPI, servicios gRPC o servicios SignalR) permitidos.
  • Sin embargo, con la implementación del servidor Blazor, el código del programa C# se ejecuta en el servidor web sin espacio aislado. Desde aquí, los desarrolladores pueden acceder directamente a cualquier recurso, como los sistemas de gestión de bases de datos, siempre que sean accesibles desde un servidor web. También es posible el acceso a servicios web; Por tanto, se puede elegir entre arquitecturas de dos y tres niveles.
  • Las aplicaciones de escritorio Blazor se ejecutan directamente en el contexto del usuario de Windows sin necesidad de utilizar espacios aislados. Puede acceder a todos los recursos a los que tiene acceso un usuario que ha iniciado sesión. También en este caso los desarrolladores pueden elegir entre arquitecturas de dos y tres niveles.
  • Blazor MAUI tampoco funciona en modo sandbox. Sin embargo, normalmente no existen controladores de bases de datos en los sistemas operativos móviles. Por tanto, la arquitectura de 3 capas es común; El segundo nivel no es deseable en plataformas móviles.

Figura 1: Arquitectura de Blazor WebAssembly y Blazor Server

(Foto: Dr. Holger Schittenberg)

Imagen 2: Arquitectura de Blazor Desktop y Blazor MAUI

(Foto: Dr. Holger Schittenberg)

anuncio

Si desea escribir una aplicación Blazor que se ejecute en la biblioteca de clases de Razor y pueda integrarse con todos los tipos de Blazor (en proyectos importantes, consulte “Implementación de Blazor para todas las plataformas”), debe tener acceso a los recursos necesarios para habilitar todos los Blazor. tipos. Idea 1: Lo que todas las variantes de Blazor tienen en común es una aplicación de tres capas. Por lo tanto, si los componentes de Razor en la biblioteca de clases de Razor siempre acceden a la base de datos a través de un servicio web, funcionan en todas las variantes de Blazor.

Esto es cierto, pero es la única opción. Cualquiera que trabaje con servicios web en el servidor de aplicaciones en Blazor Server y Blazor Desktop, aunque también pueda acceder directamente al sistema de administración de bases de datos, generará tráfico de red adicional, lo que ralentizará la aplicación inicialmente. El servidor de aplicaciones probablemente compensará esto con un buen almacenamiento en caché.

Sin embargo, aquí se presentará un enfoque en el que Blazor Server y Blazor Desktop usan la base de datos directamente, mientras que Blazor WebAssembly y Blazor MAUI acceden a la misma base de datos a través de un servicio web. Los cuatro tipos de Blazor utilizan los mismos componentes de Razor en la biblioteca de clases común de Razor.

Los desarrolladores pueden mover todo el acceso a los datos a los proyectos principales y reducir los componentes de Razor en la biblioteca de clases de Razor para verlos. En este ejemplo, Razor Components puede recuperar los datos y almacenarlos en la biblioteca de clases de Razor. Para ello, se introduce una capa de abstracción para acceder a datos entre dos y tres capas, lo cual resulta muy eficaz con truco.

A la pagina de inicio