您现在的位置是:网站首页> C#技术
什么是Blazor?
- C#技术
- 2022-01-11
- 813人已阅读
摘要
单来说就是微软推出的基于.net平台以及http://ASP.net core技术的, 交互式客户 Web UI 框架
首先blazor是基于C#的,主要的开发工具是C#(无需使用Javascript), 这对于.net 程序员来说非常友好,可以无需为了前端学习各种不同的技术,同时基于C#的代码也可以很好的和原有的Javascript代码进行沟通。
第二点:blazor框架由于基于.net 平台,因此可以充分的利用.net 平台提供的各种功能丰富的库进行编程,最大程度的利用已有的资源解决各种问题。
第三点:blazor框架可以直接运行在浏览器的线程里,直接在客户端渲染UI,也可以将部分计算分配到客户端,作为富计算的客户端,同时可以作为瘦计算客户端运行。
第四点:blazor是基于组件的,您可以开发自己的专属组件,也可以分发您的组件给到有需要的用户,甚至您可以请您的客户为您的组件进行付费。
那么Blazor是如何运行的呢?
Blazor有两种部署的模式:
- 基于WebAssembly部署的模式:
关于什么是WebAssembly请参考文档:https://developer.mozilla.org/zh-CN/docs/WebAssembly, 简而言之Webssembly是一种新的编码方式,可以在现代的网络浏览器中运行 - 它是一种低级的类汇编语言,具有紧凑的二进制格式,可以接近原生的性能运行,并为诸如C / C ++等语言提供一个编译目标,以便它们可以在Web上运行。它也被设计为可以与JavaScript共存,允许两者一起工作。(,会java的同学想象一下当初Applet的设计目标,不过Applet设计为各种浏览的插件)。
基于Webassembly部署模式的Blazor会在客户端的浏览器上直接运行.net的运行时,然后由.net运行时在浏览线程上直接运行您的C#代码,您的C#代码会将UI呈现为HTML, CSS从而直接渲染UI,下图可以大概说明基于WebAssembly运行的Blazor的基本原理:
基于Blazor Server的部署模式:
这种模式有点类似于当前的http://ASP.net Core的MVC或者是基于Razor Page的形式,所有的UI组件编译都是在服务器端运行的,客户端使用blazor的客户端库通过SignalR链接到服务端实现UI的更新和事件响应,大致的原理如下图:
这两种部署模式各有优缺点,虽然部署模式不同,但是两种部署模式在代码架构和编写上是没有任何区别的,因此您可以根据您的需求场景的不同选择不同的部署模式。
上一篇:MyCat使用技术收集