Blazor WebAssembly 3.2.0 正式起飞,blazor 适合你吗?
最近blazor更新很快,今天在官方博客上发布了Blazor WebAssembly 3.2.0 RC:https://devblogs.microsoft.com/aspnet/blazor-webassembly-3-2-0-release-candidate-now-available/ ,这是最后一次预览版了,功能开发都已经完成。

5.19的微软Build大会上就正式发布了,我最近也在积极的研究学习blazor,在博客和公众号发了几篇最新版本发布的文章,在评论区还是微信群,有人问我,为什么你对blazor如此热情,这些同学都在使用vue/angular/react等前端框架,blazor正好是利用WebAssembly 开发的前端框架,编程语言从js变成了c#, 我觉得如果您对你的前端技术栈感到满意,你可以继续使用现在你所用的框架继续前进,也许blazor并不适合你 ,巧的是最近vue3 也发布了beta版本,vue3 要真正普及也是需要至少一年的时间,blazor 可以充分的吸收前端技术栈的精华,为我所用,我将在文章的末尾列出一些blazor 吸收前端技术圈的成果的开源项目。
blazor适用于编写内部应用程序,企业应用开发人员开发的B2B和B2C的应用程序都适合使用blazor开发,现在已经有很多企业应用开发人员接受了JavaScript,还有许多企业开发人员没有,特别是winform,wpf 等开发人员,他们特别希望能够高效的的完成开发工作,这里面有很多的开发人员都很认同Sliverlight 是他们交付Web应用程序的捷径,一朝被蛇咬,十年怕井绳,有人认为blazor 只是 Silverlight vNext。我们为什么要相信微软这次不会杀死它?这种观点可以理解,但是将blazor 的未来与Sliverlight的过去混为一谈是荒谬的。
Silverlight是浏览器插件模型的牺牲品。2010年Flash是浏览器上非常流行的插件,史蒂夫-乔布斯(Steve Jobs)杀死了他,iOS设备上不支持Flash,当时Silverlight 也是如日中天,微软亲手杀死了它,拥抱了Html5这种无插件模型,相比之下,blazor是在WebAssembly标准之下的现代浏览器中运行,每个主流浏览器(IE11除外),甚至是iOS设备上的Safari 都支持blazor,这里要吐槽下微信里面的哪个浏览器貌似支持不太好。我们可以将WebAssembly视为在JavaScript运行所在的沙箱中运行的二进制编译代码,blazor 正式借助于WebAssembly 实现了将.NET 运行时运行在浏览器中。这个运行时处理 JavaScript 互操作,并提供基本服务(如垃圾回收)和更高级别的功能(布局、路由和用户界面小部件等)。换句话说,blazor使用了一个驻留在另一个虚拟机中的虚拟机,堪称《盗梦空间》级别的悖论,也是一种在浏览器中运行非 JavaScript 应用程序框架的巧妙方法。
运行时使得blazor 和 WebAssembly 上运行的其他语言与众不同,MonoCLR 编译为WebAssembly。任何.NET Standard 2.1的代码都可以在上面运行,这样就可以把.NET生态的大量库带到前端开发,其他的语言只实现了直接编译为WebAssembly,blazor当前利用WebAssembly 的一个独特创新,据我所知,还没有一个类似于blazor这样的WebAssembly运行时存在。
blazor 真正是一个组件模型,组件模型也很优雅,blazor的绑定模型也很容易理解。事件模型和标准的C# 一样,随着诸如DevExpress、Telerik、Radzen、Syncfusion等控件厂商提供了大量的控件,企业应用开发人员有理由开始blazor之旅。InfoQ的一篇文章《Mono 现状与未来: 从 Xamarin 到 WebAssembly、Blazor 及.NET 5》有助于大家理解blazor和.NET的关系。
我这里也期望JavaScript的开发同学一起来使用这项创新的前端开发框架,人们经常说,WebAssembly 并不是用来代替 JavaScript 的。但这句话对所有革命性平台都是一样的。JavaScript 当初并不是要取代嵌入浏览器的 Java。Web 应用程序并非旨在替代桌面应用。但一旦能做到这些,它们必然会走上那条路。 在社区也出现了大量的blazor 开源项目,这项开源项目都是急需前端开发同学的参与:
- 开源项目 ant-design-blazor,目标是成为Ant Design官方认可的Blazor实现,并丰富Blazor生态
Github:https://github.com/ElderJames/ant-design-blazor
Demo:https://ant-design-blazor.gitee.io
开发文档:https://github.com/ElderJames/ant-design-blazor/wiki
- Bootstrap 是 Blazor基于Bootstrap ,这个UI库目前只有服务器端,客户端wasm模式等正式版出来会搞
仓库地址:https://gitee.com/LongbowEnterprise/BootstrapBlazor
演示地址:blazor.sdgxgz.com
- Blazui Element的blazor版本,用 .NET 写前端的 UI 框架
仓库地址:https://github.com/wzxinchen/Blazui
- Blazorise 是一个组件库,基于 像Bootstrap, Bulma 和Material 等CSS frameworks
github:https://github.com/stsrki/Blazorise
- Skclusive-UI Component library for Blazor using Material Design.
github: https://github.com/skclusive/Skclusive.Material.Component
Material Design components for Blazor and Razor Components
github:https://github.com/SamProf/MatBlazor
github的仓库: https://github.com/AdrienTorris/awesome-blazor 收集了更全面的blazor 和webassembly相关的资料。
Blazor WebAssembly 3.2.0 正式起飞,blazor 适合你吗?的更多相关文章
- Blazor WebAssembly 3.2.0 Preview 4 如期发布
ASP.NET团队如期3.16在官方博客发布了 Blazor WebAssembly 3.2.0 Preview 4:https://devblogs.microsoft.com/aspnet/bla ...
- Blazor WebAssembly 3.2.0 已在塔架就位 将发射新一代前端SPA框架
最美人间四月天,春光不负赶路人.在充满无限希望的明媚春天里,一路风雨兼程的.NET团队正奋力实现新的突破. 根据计划,新一代基于WebAssembly 技术研发的前端SPA框架Blazor 将于5月1 ...
- Blazor WebAssembly 3.2 正式发布
5月 20日,微软 发布了 Blazor WebAssembly 3.2(https://devblogs.microsoft.com/aspnet/blazor-webassembly-3-2-0- ...
- Blazor(WebAssembly) + .NETCore 实现斗地主
之前群里大神发了一个 html5+ .NETCore的斗地主,刚好在看Blazor WebAssembly 就尝试重写试试. 还有就是有些标题党了,因为文章里几乎没有斗地主的相关实现:),这里主要介绍 ...
- 初尝 Blazor WebAssembly
一. 前言 Blazor 的整体介绍以及特点与优势,建议翻阅 Blazor 介绍. Blazor 是一个可是使用 .NET/C# 来编写交互式客户端的 Web UI 框架,在官网有一句话概括 &quo ...
- ASP.NET Core Blazor Webassembly 之 路由
web最精妙的设计就是通过url把多个页面串联起来,并且可以互相跳转.我们开发系统的时候总是需要使用路由来实现页面间的跳转.传统的web开发主要是使用a标签或者是服务端redirect来跳转.那今天来 ...
- ASP.NET Core Blazor Webassembly 之 组件
关于组件 现在前端几大轮子全面组件化.组件让我们可以对常用的功能进行封装,以便复用.组件这东西对于搞.NET的同学其实并不陌生,以前ASP.NET WebForm的用户控件其实也是一种组件.它封装ht ...
- 使用WebApi和Asp.Net Core Identity 认证 Blazor WebAssembly(Blazor客户端应用)
原文:https://chrissainty.com/securing-your-blazor-apps-authentication-with-clientside-blazor-using-web ...
- 浏览器中的 .Net Core —— Blazor WebAssembly 初体验
前言 在两年多以前就听闻 Blazor 框架,是 .Net 之父的业余实验性项目,其目的是探索 .Net 与 WebAssembly 的兼容性和应用前景.现在这个项目已经正式成为 Asp.Net Co ...
随机推荐
- ovirt 替换自主签署证书
需求我自己写了一个python后台,添加上了ovirt 引擎web上,如图 但第一次访问时需要,需要接受两次不安全连接,ovirt web使用https,我往里面加http,加不进去. 只能同样使用 ...
- 【cs224w】Lecture 4 - 社区结构
Community 转自本人:https://blog.csdn.net/New2World/article/details/105328390 之前讲到了网络中节点扮演不同角色,而角色这个概念和社区 ...
- Vertica的这些事(三)——Vertica中实现Oracle中的ws_concat功能
vertica中没有类似Oracle中的ws_concat函数功能,需要开发UDF,自己对C++不熟悉,所有只有想其他方法解决了. 上代码: SELECT node_state, MAX(DECODE ...
- JSP+Struts2+JDBC+Mysql实现的校园宿舍管理系统
项目简介 项目来源于:https://gitee.com/passenger134/javaweb-sushe 本系统基于JSP+Struts2+JDBC+Mysql的校园宿舍管理系统.该系统没有使用 ...
- jQuery实现回车键抬起触发事件
$(function(){ //回车键按下触发 $(document).keydown(function(event){ if(event.keyCode==13){ alert("niha ...
- 感动,我终于学会了Java对数组求和
前言 看到题目是不是有点疑问:你确定你没搞错?!数组求和???遍历一遍累加起来不就可以了吗??? 是的,你说的都对,都听你的,但是我说的就是数组求和,并且我也确实是刚刚学会.╮(╯▽╰)╭ 继续看下去 ...
- 命令行工具nslookup查域名DNS服务器
在使用的操作系统里进入终端, 1.输入 nslookup 回车 2.输入 set type=ns 回车 3.输入域名(不带WWW的),如:baidu.com 回车 操作过程如下, > set t ...
- Nordic nRF52820超低功耗蓝牙5.2 SoC芯片-低端无线连接方案首选
nRF52820是功耗超低的低功耗蓝牙 (Bluetooth Low Energy /Bluetooth LE).蓝牙mesh.Thread.Zigbee和2.4 GHz专有低端无线连接解决方案.nR ...
- ADB教程
ADB教程 查看当前pc端连接多少设备 adb devices adb连接android设备 adb connect [192.168.3.113] 断开连接 adb disconnect ...
- MTK Android 如何获取系统权限
Android如何获得系统(system)权限 Android中如何修改系统时间(应用程序获得系统权限) 在 android 的API中有提供 SystemClock.setCurrentTimeMi ...