asp .net core blazor 是什么?

ASP.NET Core Blazor 是微软提出的一种新型Web开发框架,旨在解决静态网页和局部刷新技术的问题。Blazor分为Client Host和Server-Side两种模式,前者通过WebAssembly直接在客户端运行C#,提高性能;后者则在服务器端计算DOM更新,借助SignalR实现服务器与浏览器的双向实时通信,提供高效、流畅的用户体验。

我想显从网页的显示历史变化来了解什么是asp .net core blazor

1、第一阶段:静态网页全部下载并显示阶段

在服务器端,程序员写好一个完整的.html网页。浏览一篇网页时,浏览器首先将整个网页下载下来,并显示出来。这个阶段有个很明显的缺点,当网页的部分内容变化比较频繁时,每次在浏览器和服务器之间都要传输一整个.html文件。而这个文件的大部分内容是重复的,只有少部分内容是不同的。对开发者来说,带了负面影响是加重了服务器的负担,消耗公网带宽。对客户来说,网站响应时间变长,体验变差。对网站运营者来说,网站流量增长缓慢,因为打开网站的速度太慢了。静态网站,asp .net core mvc,asp .net  core razor都属于这个阶段。

2.第二阶段:网页内容局部刷新阶段

2.1 为了解决上面的问题,程序员想,能否让客户浏览某网页时,让浏览器只在第一次下载全部网页,有新的内容时,网页中重复的部分就用已从服务器传过来的那部分,让浏览器只要求服务器传过来不同的部分就可以了。这就是网页局部刷新阶段。ajax,vue 等就是这类技术。

 

2.2  局部刷新技术存在问题

局部刷新技术用JavaScript编程,存在两个问题:一是JavaScript属弱类型语言,计算时间变长。比如var r=1;和数字相加时它是数字型变量。和字符串相加时它变成了"1"的字符串变量。可以猜到后台编译有N多的if语句来决定它到底属于哪一种。这降低了程序的性能。

二是程序先要把JavaScript源代码编译成一种中间语言,叫做webassembly,再把webassembly编译成机器码运行。

三是局部刷新技术的原理都是在浏览器端根据已有重复内容和新的要替换的内容更新DOM,让浏览器重新显示一次。大意就是,新的网页我已经算好了,浏览器你重新显示一次吧。vue就是干这个事的。

3、第三阶段:asp  .net core blazor 阶段

asp .net  core  blazor为了解决上面存在的问题,出现了两种解决办法。

3.1 client host  模式

你可以把它理解为浏览器这边的客户端模式。专门解决问题中的第一丶二点。直接把C#编译成webassembly,然后编译成机器码,少了一层编译,而提高程序性能。

3.2  blazor server-side模式

这个是解决第三个问题的。vue是在浏览器端来计算浏览器dom的更新。而blazor server-side是在服务器端来计算dom的更新,计算完成后传回浏览器端,由浏览器端的UI线程来负责通知浏览器更新页面。浏览器和服务器通过asp .net  core  sigalr技术负责双向数据实时交换。所以浏览器和服务器之间的连接一直要存在。

 

个人理解,有错谅解。

微信公众号:aspnetcore 或aspnet

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值