tnblog
首页
视频
资源
登录

ASP.NET Core Blazor 介绍

6329人阅读 2020/5/13 12:02 总访问:3467140 评论:0 收藏:0 手机
分类: .net后台框架

Blazor简介

ASP.NET Core Blazor 介绍


什么是WebAssembly?


WebAssembly


WebAssembly是浏览器中支持运行Wasm字节码的虚拟机规范。这种二进制格式允许比典型的JavaScript更快的执行,因此性能可以比纯JavaScript更好。有许多编译器可以输出这种格式,包括LLVM。因此,现在可以用C ++编写代码,将其编译为Wasm程序集,将其发送到浏览器,然后直接运行。

浏览器对Wasm的支持非常广泛。即使在较旧的浏览器上,也可以通过asm.js获得支持,尽管性能阈值较低。


.NET如何支持Wasm?



许多语言已经开始通过输出Wasm程序集将其语言带到WebAssembly的项目。微软采用的方法与大多数其他平台略有不同。通常,您会将输出二进制文件编译为Wasm,然后直接在浏览器中加载它们。但是,.NET二进制文件已经采用通用语言设计,可以在.NET Framework上运行:中间语言。因此,如果不是将代码编译为Wasm,而是将框架本身编译为Web Assembly,他们可以解释他们已经使用这个框架的Wasm版本的相同二进制文件。

当然,.NET Standard统一了.NET Framework的几种不同风格。作为WebAssembly运行的版本实际上是Mono。有人担心使用Mono而不是.NET Core,我可以理解。使用多个.NET框架有点烦人,但各种框架之间的标准化工作非常好。

趣味游戏:https://www.wasm.com.cn/demo/Tanks/


什么是Blazor?


Blazor将整个.NET Framework编译为Wasm。

Blazor WebAssembly 是一个单页应用框架,可用它通过 .NET 生成交互式客户端 Web 应用。 Blazor WebAssembly 使用开放的 Web 标准(没有插件或代码转换),适用于移动浏览器等各种新式 Web 浏览器。


通过 WebAssembly(缩写为 wasm ),可在 Web 浏览器内运行 .NET 代码。 WebAssembly 是针对快速下载和最大执行速度优化的压缩字节码格式。 WebAssembly 是开放的 Web 标准,支持用于无插件的 Web 浏览器。


WebAssembly 代码可通过 JavaScript(称为 JavaScript 互操作性 或 JavaScript 互操作 )访问浏览器的完整功能。 通过浏览器中的 WebAssembly 执行的 .NET 代码在浏览器的 JavaScript 沙盒中运行,沙盒提供的保护可防御客户端计算机上的恶意操作。


生成 Blazor WebAssembly 应用并在浏览器中运行时:

  • C# 代码文件和 Razor 文件将被编译为 .NET 程序集。
  • 该程序集和 .NET 运行时将被下载到浏览器。
  • Blazor WebAssembly 启动 .NET 运行时并配置运行时,为应用加载程序集。 Blazor WebAssembly 运行时使用 JavaScript 互操作处理 DOM 操作和浏览器 API 调用。


已发布应用的大小(其有效负载大小 )是应用可用性的关键性能因素。 大型应用需要相对较长的时间才能下载到浏览器,这会损害用户体验。 Blazor WebAssembly 优化有效负载大小,以缩短下载时间:

  • 在中间语言 (IL) 链接器发布应用时,会从应用删除未使用的代码。
  • 压缩 HTTP 响应。
  • .NET 运行时和程序集缓存在浏览器中。


Blazor 服务器


Blazor 将组件呈现逻辑从 UI 更新的应用方式中分离出来。 Blazor 服务器在 ASP.NET Core 应用中添加了对在服务器上托管 Razor 组件的支持。 可通过 SignalR 连接处理 UI 更新。


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


Blazor 服务器用于与浏览器通信的连接还用于处理 JavaScript 互操作调用。


JavaScript 互操作


对于需要第三方 JavaScript 库和访问浏览器 API 的应用,组件与 JavaScript 进行互操作。 组件能够使用 JavaScript 能够使用的任何库或 API。 C# 代码可以调用到 JavaScript 代码,而 JavaScript 代码可以调用到 C# 代码。 有关详细信息,请参阅以下文章:


欢迎加群讨论技术,1群:677373950(满了,可以加,但通过不了),2群:656732739

评价

Python学习 3-爬虫基本介绍 及简单实例

爬虫爬虫就是一只猪,蜘蛛。。 网络蜘蛛。互联网是一个网由各个网站组成。无数的蜘蛛就在网上到处爬,根据网址从一个网站爬...

泛型简单介绍。。

说到了泛型,就介绍下泛型泛型不是特指具体类型,是一种可变类型,可以把他看做一个类型占位符,根据传入的类型 延迟声明具...

c使用unity实现依赖注入一:依赖注入介绍

依赖注入的简单介绍直接关联是这样滴,耦合性超高的。这里有一个设计原则:依赖于抽象,而不是具体的实现试想一下如果做了...

消息队列rabbitmq介绍

消息队列的一般作用 异步调用,延迟处理 应用解耦 流量消峰,处理高并发,秒杀等 说白了,消息队列就是一方生产消息,一方...

使用AppCan开发app之开发流程介绍

目前 App的开发主要包含三种方式:原生开发、H5开发、混合开发大概列举一下3种模式优缺点:原生:原生应用由于利用的是官方...

json介绍与基本用法

json介绍:Javascript object natationjs对象记号,用来标识对象格式就是一个键值对的形式作用:主要作为数据传输,也可以...

03--VueJs 的简单的介绍和基本的代码

Vue.js(官网地址:https://cn.vuejs.org/index.html)Vue.js 是目前最火的一个前端框架,除了开发网站,还可以开发手机App,...

.net web api介绍

MVC,可以使用WebAPI的功能,但是MVC主要是针对和页面viewWEBAPI不包含页面的功能,只专注提供数据,效率优于MVCWebApi其实...

svn介绍

SVN版本控制作用:用于多人开发项目(文件)的时候,控制项目,不需要拷贝把项目给svn管理,然后用户都可以进行上传和下载...

gRPC 四种服务类型介绍

gRPC 有四种服务类型分别是:简单 RPC(Unary RPC)、服务端流式 RPC (Server streaming RPC)、客户端流式 RPC (Client ...

webservice和wcf和web.api简单介绍

在.net平台下,有大量的技术让你创建一个HTTP服务,像Web Service,WCF,现在又出了Web API。在.net平台下,你有很多的选择...

ddd介绍

领域服务(Domain Services)领域中的一些概念不太适合建模为对象,即归类到实体对象或值对象,因为它们本质上就是一些操作,...

abp框架的介绍和基用法

一、什么是ABP框架? ABP框架全称为“ASP.NETBoilerplateProject”,中文翻译为“ASP.NET样板项目”,诞生的主要目的就是...

c扩展方法简单介绍

可以不用继承就可以给一个类增加方法!语法: Public static class 类名 { //你想添加的扩展方法 Public static ...

linq简单介绍

什么是linq:Languagle intergrated query 语法集成查询 Linq的分类: Linq to object : linq操作系统对象Linq to sql ...

委托的介绍

委托:什么是委托: 委托的本质是方法指针,可以指向一个方法 委托的作用: 传递方法 基本用法: 定义委托:...
这一世以无限游戏为使命!
排名
2
文章
634
粉丝
44
评论
93
docker中Sware集群与service
尘叶心繁 : 想学呀!我教你呀
一个bug让程序员走上法庭 索赔金额达400亿日元
叼着奶瓶逛酒吧 : 所以说做程序员也要懂点法律知识
.net core 塑形资源
剑轩 : 收藏收藏
映射AutoMapper
剑轩 : 好是好,这个对效率影响大不大哇,效率高不高
ASP.NET Core 服务注册生命周期
剑轩 : http://www.tnblog.net/aojiancc2/article/details/167
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2025TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:50010702506256
欢迎加群交流技术