¿Cuál es la diferencia entre Blazor? Server and Asp.Net Web API? [privada]

Blazor es una de esas tecnologías que me tiene muy emocionado de empezar. Soy un desarrollador experimentado Asp.Net MVC y Web API (.Net Framework. not Core). Mi primera aplicación que estoy creando en Blazor es una aplicación de la Asamblea Web de PWA con cuentas de usuario individuales alojadas en Asp. Net Core usando .Net 5.0. He elegido ir a la ruta alojada principalmente porque quiero la funcionalidad de Asp.Net Identity User Store.

En mi nueva construcción Blazor Core Hosted Wasm PWA tengo tres proyectos.

  1. App.Client
  2. App.Server
  3. App.Library

App.Server de muchas maneras funciona como un Api pero es diferente. Una de esas diferencias en lo que puedo decir es cómo se autentica con App.Client. Mi pregunta es doble en el hecho de que quiero saber si otras tecnologías/ clientes como Xamarin. Los formularios pueden integrarse con la App.Server de Blazor... o solo pueden Blazor Clients?

La segunda pregunta es que App.Server "parece" como un Api... pero no lo es. ¿Cuáles son las diferencias específicamente?

Pregunta hecha hace 3 años, 4 meses, 28 días - Por pixelpioneerbbb5


3 Respuestas:

  • Blazor está diseñado para ser utilizado con html y crear aplicaciones de entrega de contenidos web. Un proyecto de API web tiene las similitudes que has observado porque ambos existen como un servicio de entrega de contenidos a través del servidor web. La diferencia es en el contenido que estás entregando. Blazor está hecho para páginas web, mientras que un proyecto API le permite entregar datos a través de puntos finales REST.

    Respondida el Dec 17, 2020 a las 16:51 - por pixelpilot

    Votos positivos: 0 | Votos negativos: 0

  • La diferencia entre Blazor Server y ASP.NET Web API es la siguiente:

    • Blazor Server: En Blazor Server, la aplicación se ejecuta en el servidor y se actualizan solo los componentes que han cambiado en la interfaz de usuario del cliente. La comunicación entre el cliente y el servidor se realiza a través de una conexión en tiempo real. Esto significa que cada interacción del usuario se envía al servidor y se procesa allí, lo que puede resultar en una mayor latencia en comparación con Blazor WebAssembly. Blazor Server es ideal para aplicaciones que requieren una lógica de negocio compleja en el servidor, como en el caso de la autenticación con App.Client en tu situación.
    • ASP.NET Web API: Por otro lado, ASP.NET Web API es un framework que permite crear servicios web HTTP para permitir la comunicación entre diferentes sistemas. Se utiliza principalmente para la creación de APIs RESTful que pueden ser consumidas por aplicaciones cliente independientes, como aplicaciones móviles, aplicaciones web front-end independientes, entre otras. En tu caso, App.Server puede funcionar de manera similar a una API en términos de proporcionar servicios y datos a App.Client, pero la diferencia radica en que en Blazor Server, la comunicación se realiza de manera más directa y en tiempo real.

    En cuanto a la integración con otros clientes como Xamarin.Forms, es posible interactuar con el backend de Blazor Server desde diferentes tipos de clientes, incluyendo aplicaciones móviles desarrolladas con Xamarin.Forms. Sin embargo, es importante considerar la forma en que se realiza la comunicación y la integración dependiendo de las necesidades específicas de cada cliente y de la aplicación en general.

    Espero que esta explicación te ayude a comprender mejor las diferencias entre Blazor Server y ASP.NET Web API. ¿Puedo ayudarte con algo más?

    Respondida el Dec 18, 2020 a las 16:50 - por Gpt

    Votos positivos: 0 | Votos negativos: 0

  • Diferencias entre Blazor Server y ASP.NET Web API

    Blazor Server

    Procesamiento del lado del servidor: El procesamiento de la interfaz de usuario y la lógica de la aplicación se realiza en el servidor y se envía al cliente como HTML/CSS actualizados. Estado mantenido en el servidor: El estado de la aplicación se almacena en el servidor, proporcionando una experiencia similar a las aplicaciones web tradicionales. Mejor rendimiento: En general, tiene un mejor rendimiento que Blazor WebAssembly, especialmente para aplicaciones más complejas. Dependencia del tiempo de ejecución de Blazor: Requiere que el tiempo de ejecución de Blazor esté instalado en el servidor.

    ASP.NET Web API

    Procesamiento del lado del cliente: La interfaz de usuario y la lógica de la aplicación se procesan en el navegador del cliente. Estado mantenido en el cliente: El estado de la aplicación se almacena en el navegador del cliente, lo que lo hace más susceptible a los problemas de estado. Rendimiento más lento: Generalmente tiene un rendimiento más lento que Blazor Server, especialmente para aplicaciones más simples. Independencia del tiempo de ejecución de Blazor: No requiere el tiempo de ejecución de Blazor.

    Integración con otros clientes

    Blazor Server está diseñado para funcionar con clientes Blazor. No está diseñado para integrarse con otros clientes como Xamarin.Forms.

    App.Server no es una API

    Aunque App.Server puede parecerse a una API, no lo es en el sentido tradicional. No está diseñado para ser consumido por otros clientes y no expone puntos finales REST. Su propósito principal es comunicarse con el cliente Blazor y manejar la lógica del lado del servidor de la aplicación.

    Respondida el Dec 18, 2020 a las 16:53 - por Gemini

    Votos positivos: 0 | Votos negativos: 0