返回顶部
首页 > 资讯 > 后端开发 > ASP.NET >Asp.net core前端框架Blazor介绍
  • 679
分享到

Asp.net core前端框架Blazor介绍

2024-04-02 19:04:59 679人浏览 泡泡鱼
摘要

一、blazor介绍 Blazor是微软在ASP.net core 3.0中推出的一个前端MVVM模型,它可以利用Razor页面引擎和C#作为脚本语言来构建WEB页面. 在.net5

一、blazor介绍

Blazor是微软在ASP.net core 3.0中推出的一个前端MVVM模型,它可以利用Razor页面引擎和C#作为脚本语言来构建WEB页面.

.net5中,Blazor将代替传统的Web Pages。可以代替如下代码简单演示了它的基本功能:

angular jsVue的模型非常类似,Blazor 支持大多数应用所需的核心方案:

  • 参数
  • 事件处理
  • 数据绑定
  • 路由
  • 依赖关系注入
  • 布局
  • 模板
  • 级联值

使用Blazor主要有如下好处:

  • C# 语言:使用 C# 代替 javascript 来编写代码。
  • .NET 生态系统:利用现有的 .NET 库生态系统。
  • 完整堆栈开发:共享服务器和客户端逻辑。
  • 快速且具有可伸缩性:.NET 旨在实现出色的性能、可靠性和安全性。
  • 行业领先工具:始终高效支持 windowslinuxMacOS 上的 Visual Studio
  • 稳定性和一致性:以一组稳定、功能丰富且易用的通用语言、框架和工具为基础来进行生成。

二、Blazor的模式

1、客户端模式:

运行Blazor需要C#支持,在客户端模式下,通过WebAssembly的方式实现的:

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

2、服务端模式:

Blazor组件呈现逻辑也可以在服务端实现,通过SingalR连接传递UI更新:

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

3、两种模式的比较:

和客户端模式相比,服务端模式有如下有点:

  • 客户端不需要WebAssembly支持,具有更好的客户端兼容性
  • 不需要下载.net webassembly程序集,具有更小的页面加载时间
  • 可以运行完整的.net runmtime,可以实现更加强大的功能

但同时也有如下缺点:

  • 所有操作都需要发往服务器,网络不好的时候有延时
  • 所有运算都在服务端进行,服务器端具有更大的处理压力

综上所述,客户端具有更好的效率,服务端具有更少的约束和更强大的功能,对于一些对性能要求不高和网络不差的场景,服务端模式无疑是非常合适的选择。

简单说:
Blazor Server 适合内部局域网的运用。
Blazor WebAssembly 适合各类内部应用(比如公司内部管理系统)。
Razor Pages 适合逻辑简单的 Web 站点。

三、组件

Blazor应用基于组件 。 Blazor 中的组件是指 UI 元素,例如页面、对话框或数据输入窗体。
组件是内置到 .NET 程序集的 .NET 类,用来:

  • 定义灵活的 UI 呈现逻辑。
  • 处理用户事件。
  • 可以嵌套和重用。
  • 可以作为 Razor 类库或 NuGet 包共享和分发。
    组件类通常以 Razor 标记页(文件扩展名为 .razor )的形式编写。 Blazor 中的组件有时被称为 Razor 组件 。 Razor 是用于将 html 标记与专为提高开发人员工作效率而设计的 C# 代码结合在一起的语法。 借助 Razor,可以使用 IntelliSense 支持在同一文件中的 HTML 标记和 C# 之间切换。 Razor Pages 和 mvc 也使用 Razor。 与围绕请求/响应模型生成的 Razor Pages 和 MVC 不同,组件专门用于处理客户端 UI 逻辑和构成。

以下 Razor 标记演示组件 (Dialog.razor ),该组件可以嵌套在另一个组件中:

<div>
    <h1>@Title</h1>

    @ChildContent

    <button @onclick="OnYes">Yes!</button>
</div>

@code {
    [Parameter]
    public string Title { get; set; }

    [Parameter]
    public RenderFragment ChildContent { get; set; }

    private void OnYes()
    {
        Console.WriteLine("Write to the console in C#! 'Yes' button was selected.");
    }
}

对话框的正文内容 (ChildContent) 和标题 (Title) 由在其 UI 中使用此组件的组件提供。 OnYes 是由按钮的 onclick 事件触发的 C# 方法。
Blazor 使用 UI 构成的自然 HTML 标记。 HTML 元素指定组件,并且标记的特性将值传递给组件的属性。
在以下示例中,Index 组件使用 Dialog 组件。 ChildContent 和 Title 由 <Dialog> 元素的属性和内容设置。
Index.razor:

@page "/"

<h1>Hello, world!</h1>

Welcome to your new app.

<Dialog Title="Blazor">
    Do you want to <i>learn more</i> about Blazor?
</Dialog>

在浏览器中访问父级 (Index.razor ) 时,将呈现该对话框:

image

浏览器中呈现的对话框组件

如果在应用中使用此组件,Visual Studio 和 Visual Studio Code 中的 IntelliSense 可加快使用语法和参数补全的开发。

组件呈现为浏览器文档对象模型 (DOM) 的内存中表现形式,称为“呈现树” ,用于以灵活高效的方式更新 UI。

四、示例:

到此这篇关于Asp.net core前端框架Blazor的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: Asp.net core前端框架Blazor介绍

本文链接: https://lsjlt.com/news/150899.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Asp.net core前端框架Blazor介绍
    一、Blazor介绍 Blazor是微软在Asp.net core 3.0中推出的一个前端MVVM模型,它可以利用Razor页面引擎和C#作为脚本语言来构建WEB页面. 在.Net5...
    99+
    2024-04-02
  • Asp.net core前端框架Blazor怎么使用
    今天小编给大家分享一下Asp.net core前端框架Blazor怎么使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一...
    99+
    2023-07-02
  • ASP.NET Core中的Blazor组件介绍
    目录关于组件组件类静态资产路由与路由参数组件参数请勿创建会写入其自己的组参数属性的组件子内容属性展开任意参数捕获对组件的引用在外部调用组件方法以更新状态使用 @ 键控制是否保留元素和...
    99+
    2024-04-02
  • Blazor框架简介
    Blaozr 是由微软2019推出得一种使用.NET 生成交互式客户端得Web UI框架。 该框架利用C#代替JavaScript进行创建UI , 并且可以共享.NET编写的服务端和...
    99+
    2024-04-02
  • ASP.NET Core之Web API介绍
    目录1.简单介绍2.自定义格式化(Format)1.特定格式的操作结果2.配置格式化程序3.添加对 XML 格式的支持4.强制特定格式化5.响应格式 URL 映射6.自定义格式化程序...
    99+
    2024-04-02
  • ASP.NET Core选项接口介绍
    首先要了解 ASP.NET Core 中的配置,请点击这里了解:https://www.jb51.net/article/238451.htm 1,选项接口 ASP.NET Core...
    99+
    2024-04-02
  • ASP.NET Core Razor页面用法介绍
    简介 随着ASP.NET Core 2 即将来临,最热门的新事物是Razor页面。在之前的一篇文章中,我们简要介绍了ASP.NET Core Razor 页面。 Razor页面是AS...
    99+
    2024-04-02
  • ASP.NET Core中的Razor页面介绍
    目录简介Why?创建Razor页面应用程序ASP.NET Core Razor页面 - 核心功能模型绑定HandlersTag Helpers and HTML Helpers路由总...
    99+
    2024-04-02
  • ASP.NET Core中的Ocelot网关介绍
    目录1.简介2.Ocelot配置2.1基础集成(Basic Implementation)2.2集成IdentityServer(With IdentityServer)2.3多个网...
    99+
    2024-04-02
  • ASP.NET Core命名空间System.Text.Encodings.Web介绍
    System.Text.Encodings.Web 空间包含表示 Web 编码器的基类、表示 HTML、JavaScript 和 Url 字符编码的子类,以及表示仅允许编码特定字符、...
    99+
    2024-04-02
  • ASP.NET Core的日志系统介绍
    .net core是内置了日志系统的,本文这里简单的介绍一下它的基本用法。如下是一个简单的示例:  var service = new ServiceCollection(...
    99+
    2024-04-02
  • ASP.NET MVC框架简介
    一、MVC模式 概述 1、MVC是一种流行的Web应用架构技术,他把Web应用划分成Model(模型)、Controller(控制器)和View(视图)三部分。 2、优点:可测试、可...
    99+
    2024-04-02
  • ASP.NET Core扩展库ServiceStack.Redis用法介绍
    给大家安利一款 ServiceStack.Redis 的 ASP.NET Core 扩展库,它是基于 ServiceStack.Redis.Core 开发的。 简...
    99+
    2024-04-02
  • ASP.NET Core MVC中Tag Helpers用法介绍
    简介 Tag Helpers 提供了在视图中更改和增强现有HTML元素的功能。将它们添加到视图中,会经过Razor模板引擎处理并创建一个HTML,之后再返回给浏览器。有一些Tag H...
    99+
    2024-04-02
  • SpringCloudAlibaba框架介绍
    目录前言1.集成Nacos实现服务的自动注册与发现2. Feign负载均衡注:OpenFeign和Feign的区别:3.使用Sentinel实现了接口的限流4.Feign整合Sent...
    99+
    2023-05-15
    SpringCloud Alibaba框架介绍 SpringCloud Alibaba框架 SpringCloud Alibaba
  • ASP.NET Core MVC中Form Tag Helpers用法介绍
    简介 我们已经介绍过Tag Helpers以及一些最常用的Tag Helpers,也谈到了缓存Tag Helpers。在这篇文章中,我们将讨论表单Tag Helpers。 HTML或...
    99+
    2024-04-02
  • ASP.NET Core的中间件与管道介绍
    今天来讨论一个ASP.NET Core 很重要概念管道和中间件,在ASP.NET Core中,针对HTTP请求采用pipeline也就是通常说的管道方式来处理,而管道容器内可以挂载很...
    99+
    2024-04-02
  • ASP.NET Core MVC自定义Tag Helpers用法介绍
    介绍 在之前的内容中,我们谈到了Tag Helpers,我们还谈到了 caching Tag Helpers和form Tag Helpers。 通过创建自定义Tag He...
    99+
    2024-04-02
  • ASP.NET Core中Razor页面与MVC区别介绍
    作为.NET Core 2.0发行版的一部分,还有一些ASP.NET的更新。其中之一是添加了一个新的Web框架来创建“页面”,而不需要复杂的ASP.NET M...
    99+
    2024-04-02
  • ASP.NET Core扩展库的相关功能介绍
    目录简介日志扩展轻量级实体映射AspNetCore Http服务端的扩展HttpClient扩展令牌提供器并行队列处理亲爱的.Neter们,在我们日复一日的编码过程中是不是会遇到一些...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作