admin 管理员组

文章数量: 887021

Blazor

Blazor 是一个使用 Blazor 生成交互式客户端 Web UI 的框架:
·使用 C# 代替 JavaScript 来创建信息丰富的交互式 UI。
·共享使用 .NET 编写的服务器端和客户端应用逻辑。
·将 UI 呈现为 HTML 和 CSS,以支持众多浏览器,其中包括移动浏览器。
·与新式托管平台(如 Docker)集成。
·使用 .NET 和 Blazor 生成混合桌面和移动应用。
使用 .NET 进行客户端 Web 开发可提供以下优势:
·使用 C# 代替 JavaScript 来编写代码。
·利用现有的 .NET 库生态系统。
·在服务器和客户端之间共享应用逻辑。
·受益于 .NET 的性能、可靠性和安全性。
·使用开发环境(例如 Visual Studio 或 Visual Studio Code)保持 Windows、Linux 或 macOS 上的工作效率。
·以一组稳定、功能丰富且易用的通用语言、框架和工具为基础来进行生成。

Blazor应用基于组件。 Blazor 中的组件是指 UI 元素,例如页面、对话框或数据输入窗体。
组件是内置到 .NET 程序集的 .NET C# 类,它们用于:
·定义灵活的 UI 呈现逻辑。
·处理用户事件。
·可以嵌套和重用。
·可作为 类库或 NuGet 包共享和分发。
组件类通常以 Razor 标记页(文件扩展名为 .razor)的形式编写。 Blazor 中的组件正式称为 Razor 组件,非正式地称为 Blazor 组件。 Razor 是一种语法,用于将 HTML 标记与专为提高开发人员工作效率而设计的 C# 代码结合在一起。 借助 Razor,可使用 Visual Studio 中的 Razor 编程支持在同一文件中的 HTML 标记与 C# 之间切换。 Razor Pages 和 MVC 也使用 Razor。 与基于请求/响应模型生成的 Razor Pages 和 MVC 不同,组件专门用于处理客户端 UI 逻辑和构成。

Blazor Server在 ASP.NET Core 应用中支持在服务器上托管 Razor 组件。 可通过 SignalR 连接处理 UI 更新。运行时停留在服务器上并处理:
·执行应用的 C# 代码。
·将 UI 事件从浏览器发送到服务器。
·将 UI 更新应用于服务器发送回的已呈现的组件。
Blazor Server用于与浏览器通信的连接还用于处理 JavaScript 互操作调用。

Blazor Server 应用以不同于传统模型的方式呈现内容,以便在 ASP.NET Core 应用中使用 Razor 视图或 Razor Pages 呈现 UI。 这两种模型都使用 语言描述 HTML 内容,但两者在标记的呈现方式上差别显著。

呈现 Razor 页面或视图时,每行 Razor 代码都以文本形式发出 HTML。 呈现后,服务器会丢弃页面或视图实例,包括生成的任何状态。 当对页面进行另一请求时,整个页面将再次重新呈现为 HTML,并发送到客户端。

Blazor Server 生成组件图,以显示类似于 HTML 或 XML 文档对象模型 (DOM) 的内容。 组件图包含属性和字段中保存的状态。 Blazor 计算组件图以生成标记的二进制表示形式,并将该表示形式发送到客户端以进行呈现。 客户端与服务器之间建立连接后,组件的静态预呈现元素会替换为交互式元素。 通过在服务器上预呈现内容,应用在客户端上的响应速度更快。

组件在客户端交互后,用户交互和应用事件将触发 UI 更新。 发生更新时,将重新呈现组件图,并计算 UI diff(差异)。 此差异是更新客户端上的 UI 所需的最小一组 DOM 编辑。 差异以二进制格式发送到客户端,并由浏览器应用。
用户退出组件之后,组件会被丢弃。

本文标签: Blazor