Blazor 介绍(1)

Blaozr 是由微软2019推出得一种使用.NET 生成交互式客户端得Web UI框架。
点击观看视频教程
该框架利用C#代替JavaScript进行创建UI , 并且可以共享.NET编写的服务端和客户端业务代码。

优势:

1 使用C#代替JavaScript编写代码, 意味着, 如果你使用的是.Net进行编写服务端(例:ASP.NET Core WebApi) 或者是 客户端(WPF/Winform),
那么可以共享应用之前的逻辑, 无需针对Web再编写其他的业务代码。
2 始终高效支持 Windows、Linux 和 macOS 上的 Visual Studio。
3 利用现有的 .NET 库生态系统。

浏览器要求:

Blazor WebAssembly

Microsoft Edge
Mozilla Firefox
Google Chrome,包括 Android
Safari,包括 iOS 当前
Microsoft Internet Explorer 不支持 WebAssembly。

Blazor 服务器

Microsoft Edge
Mozilla Firefox
Google Chrome,包括 Android 当
Safari,包括 iOS

托管模型

Blazor WebAssembly

Blazor 的主要托管模型在 WebAssembly 上的浏览器中运行客户端。 将 Blazor 应用、其依赖项以及 .NET 运行时下载到浏览器。 应用将在浏览器线程中直接执行。
UI 更新和事件处理在同一进程中进行。 应用资产作为静态文件部署到可为客户端提供静态内容的 Web 服务器或服务中。

1.模板包括 blazor.webassembly.js 脚本,可处理以下任务:

  • 下载 .NET 运行时、应用和应用依赖项。
  • 初始化运行应用的运行时。

2.Blazor WebAssembly 托管模型具有以下优点:

  • 没有 .NET 服务器端依赖项。 应用下载到客户端后即可正常运行。
  • 可充分利用客户端资源和功能。
  • 工作可从服务器转移到客户端。
  • 无需 ASP.NET Core Web 服务器即可托管应用。 无服务器部署方案可行(例如通过 CDN 为应用提供服务的方案)。

3.Blazor WebAssembly 托管具有以下缺点:

  • 应用仅可使用浏览器功能。
  • 需要可用的客户端硬件和软件(例如 WebAssembly 支持)。
  • 下载项大小较大,应用加载耗时较长。
  • .NET 运行时和工具支持不够完善。 例如,.NET Standard 支持和调试方面存在限制。
    Blazor 托管应用模型支持 Docker 容器。 在 Visual Studio 中右键单击 Server 项目,然后选择“添加” > “Docker 支持” 。

Blazor Server

使用 Blazor 服务器托管模型可从 ASP.NET Core 应用中在服务器上执行应用。 UI 更新、事件处理和 JavaScript 调用是通过 SignalR 连接进行处理。

1.Blazor 服务器托管模型具有以下优点:

  • 下载项大小明显小于 Blazor WebAssembly 应用,且应用加载速度快得多。
  • 应用可充分利用服务器功能,包括使用任何与 .NET Core 兼容的 API。
  • 服务器上的 .NET Core 用于运行应用,因此调试等现有 .NET 工具可按预期正常工作。
  • 支持瘦客户端。 例如,Blazor 服务器应用适用于不支持 WebAssembly 的浏览器以及资源受限的设备。
  • 应用的 .NET/C# 代码库(其中包括应用的组件代码)不适用于客户端。

2.Blazor 服务器托管具有以下缺点:

  • 通常延迟较高。 每次用户交互都涉及到网络跃点。
  • 不支持脱机工作。 如果客户端连接失败,应用会停止工作。
  • 如果具有多名用户,则应用扩缩性存在挑战。 服务器必须管理多个客户端连接并处理客户端状态。
  • 需要 ASP.NET Core 服务器为应用提供服务。 无服务器部署方案不可行(例如通过 CDN 为应用提供服务的方案)。
    Blazor Server 应用模型支持 Docker 容器。 在 Visual Studio 中右键单击该项目并选择“添加” > “Docker 支持” 。
原文地址:https://www.cnblogs.com/zh7791/p/12722476.html