Blazor简介
痕迹g 人气:1Blaozr 是由微软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 支持” 。
以上所述是小编给大家介绍的Blazor框架,希望对大家有所帮助。在此也非常感谢大家对网站的支持!
加载全部内容