Blazor 简介

Blazor 是一个用于使用 .NET 生成交互式客户端 Web UI 的框架:

  • 使用 C# 代替 JavaScript 来创建丰富的交互式 UI。
  • 共享使用 .NET 编写的服务器端和客户端应用逻辑。
  • 将 UI 呈现为 HTML 和 CSS,以支持众多浏览器,其中包括移动浏览器。

使用 .NET 进行客户端 Web 开发可提供以下优势:

  • 使用 C# 代替 JavaScript 来编写代码。
  • 利用现有的 .NET 库生态系统。
  • 在服务器和客户端之间共享应用逻辑。
  • 受益于 .NET 的性能、可靠性和安全性。
  • 始终高效支持 Windows、Linux 和 macOS 上的 Visual Studio。
  • 以一组稳定、功能丰富且易用的通用语言、框架和工具为基础来进行生成。

Blazor 客户端

Blazor 客户端是一个单页应用框架,用于使用 .NET 生成交互式客户端 Web 应用。 Blazor 客户端使用开放的 Web 标准(没有插件或代码转换),并且适用于所有新式 Web 浏览器(包括移动浏览器)。

通过 WebAssembly(缩写为 wasm),可在 Web 浏览器内运行 .NET 代码。 WebAssembly 是开放的 Web 标准,支持用于无插件的 Web 浏览器。 WebAssembly 是针对快速下载和最大执行速度优化的压缩字节码格式。

在浏览器中通过 WebAssembly 执行的 .NET 代码在与 JavaScript 相同的受信任沙盒中运行,这几乎可以阻止应用在客户端计算机上执行恶意操作。

生成 Blazor 客户端应用并在浏览器中运行时:

  • C# 代码文件和 Razor 文件将被编译为 .NET 程序集。
  • 该程序集和 .NET 运行时将被下载到浏览器。
  • Blazor 客户端启动 .NET 运行时并配置运行时,为应用加载程序集。 Blazor 客户端运行时使用 JavaScript 互操作处理文档对象模型 (DOM) 操作和浏览器 API 调用。

已发布应用的大小(其有效负载大小)是应用可用性的关键性能因素。 大型应用需要相对较长的时间才能下载到浏览器,这会损害用户体验。 Blazor 客户端优化有效负载大小,以缩短下载时间:

  • 中间语言 (IL) 链接器发布应用时,会从应用删除未使用的代码。
  • 压缩 HTTP 响应。
  • .NET 运行时和程序集缓存在浏览器中。

Razor 服务器端

Razor 将组件呈现逻辑从 UI 更新的应用方式中分离出来。 Razor 服务器端在 ASP.NET Core 应用中添加了对在服务器上托管 Razor 组件的支持。 可通过 SignalR 连接处理 UI 更新。

运行时处理从浏览器向服务器发送 UI 事件,并在运行组件后,将服务器发送的 UI 更新重新应用到浏览器。

被 Razor 服务器端用于与浏览器进行通信的组件还可用于处理 JavaScript 互操作调用。

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值