Blazor学习知识(1、2)

1.Blazor是什么

1.1由来与对比

1.官方文档:

https://learn.microsoft.com/zh-cn/aspnet/core/blazor/?view=aspnetcore-7.0

img

2.简单补充一些ASP.NET的知识:

ASP(Active Server Pages)是动态服务器页面的缩写

ASP.NET 是开源,跨平台,高性能,轻量级的 Web 应用构建框架,使用 .NET 构建 Web 应用。

ASP.NET 是一个开发框架,用于通过 HTML、CSS、JavaScript 以及服务器脚本来构建网页和网站。

MVC 又是什么?

NET MVC是微软官方提供的以MVC模式为基础的.NET Web应用程序(Web Application)框架,

它由Castle的MonoRail而来(Castle的MonoRail是由java而来),

ASP.NET MVC 是Windows系统下面的Web研发框架,有Microsoft提供。

MVC顾名思义:Model, View, Controller.是UI端分层的三层模式。跟三层架构有着本质区别。

.Net MVC彻底的分离了前后端,以及抽象层结构的依赖注入,横切编程模式。

用于模型架构的ModelMedata,用于模型验证的ValidateProvider,用于数据提供的ValueProvider,用于数据绑定的ModeBinder,用于视图绑定的ViewEngine引擎等。构成了Asp.Net MVC架构的模式。

ASP.NET SignalR是什么?

ASP.NET SignalR 是为 ASP.NET 开发人员提供的一个库,可以简化开发人员将实时 Web 功能添加到应用程序的过程。

3.个人理解:

①Blazor其实MVC的一个分支;之前是短链接,现在是长链接;

②用Blazor 底层是SignalR,代替 JS;不要再用弱类型的语言来开发程序,对后期维护都是一个很大的挑战;

③Blazor封装好之后,组件复用率高,也意味着开发效率会远远大于MVC;

1.2创建一个Server项目

1.2.1在VS中搜索Blazor,选定模式开始创建;

img

1.2.2选定.Net 7,去掉Https配置,勾选上还得配置自签发的一个证书;

img

1.2.3不小心勾了,配置中改掉;

img

1.2.4注入服务 与 配置管道;

img

2.Blazor模式

2.1 Blazor Server与WebAssembly

2.1.1 Blazor Server

实质:你的代码运行在服务器上,通过请求,把运算结果的差异推给浏览器;

优点:1.IDE调试;2.B/S架构 更新迅速;3.运行流畅;

缺点:1.对网络要求高,所有的请求都是跑在服务器上,比如点击一个按钮,这个事件浏览器是不响应的,它其实是从JS传递给了服务器;

**2.1.2 **Blazor WebAssembly

优点:Dll首次加载的时候,通过服务器下载到你的浏览器里,全部跑在浏览器里;

全部运行在浏览器的沙盒里,跟服务器一点关系没有;

运行的是wasm那种脚本,号称汇编,理论上比JS还快;

7.0后 会进行服务器更新后,浏览器刷新主动更新;

对网络没有那么大的依赖性;

缺点

目前不推荐使用;

1.还是类似C/S结构;

2.切换网页组件很卡;

3.调试不在IDE中,在浏览器中反应问题;

2.2 创建一个Blazor wasm工程

1.选中Blazor WebAssembly App

img

2.项目配置

FrameWork 选择框架

Authentication type 授权模式

Configure for HTTPS 是否HTTPS,客户端不需要

ASP.NET Core Hosted 类似MVC套壳,再去加载Blazor

Progressive Web Application PWA渐进式的一种交互 ,其实是浏览器的一个功能,Manifest一个配置文件

https://blog.csdn.net/feihe0755/article/details/54896860?spm=1001.2101.3001.6661.1&utm_medium=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-1-54896860-blog-83836451.pc_relevant_vip_default&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-1-54896860-blog-83836451.pc_relevant_vip_default&utm_relevant_index=1

Do not use top-level statements .Net5.0 C# 9.0 就开始有了

img

img

3.模式详解

Dll首次加载的时候,通过服务器下载到你的浏览器里,全部跑在浏览器里;

首次之后不会再加载dll;

img

img

2.3 Blazor Hybrid 混合编程

ASP.NET Core Blazor Hybrid

本文介绍 ASP.NET Core Blazor Hybrid,可以通过它在 ASP.NET Core 应用中使用 .NET 生成交互式客户端 Web UI。

使用 Blazor Hybrid 将桌面和移动本机客户端框架与 .NET 和 Blazor 结合使用。

在 Blazor Hybrid 应用中,Razor 组件在设备上本机运行。

组件通过本地互操作通道呈现到嵌入式 Web View 控件。

组件不在浏览器中运行,并且不涉及 WebAssembly。

Razor 组件可快速加载和执行代码,组件可通过 .NET 平台完全访问设备的本机功能。

Web View 中呈现的组件样式与平台相关,可能需要你使用自定义样式表来说明不同平台之间的呈现差异。

Blazor Hybrid 文章涵盖与将 Razor 组件集成到本机客户端框架相关的主题。

生成 Windows Presentation Foundation (WPF) Blazor 应用

https://learn.microsoft.com/zh-cn/aspnet/core/blazor/hybrid/tutorials/wpf?view=aspnetcore-7.0

r/components/?view=aspnetcore-6.0)集成到本机客户端框架相关的主题。

生成 Windows Presentation Foundation (WPF) Blazor 应用

https://learn.microsoft.com/zh-cn/aspnet/core/blazor/hybrid/tutorials/wpf?view=aspnetcore-7.0

博主还有个想法,希望微软可以实现,将WPF能快速转化为Web程序,能大大节省桌面开发程序的工作量。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Heschel

您的鼓励是我创作的最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值