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
演示地址 http://blazui.com:9000
Blazorise 是一个组件库,基于 像Bootstrap, Bulma 和Material 等CSS frameworks
github:https://github.com/stsrki/Blazorise
官网:https://blazorise.com/
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 已在塔架就位 将发射新一代前端SPA框架
最美人间四月天,春光不负赶路人.在充满无限希望的明媚春天里,一路风雨兼程的.NET团队正奋力实现新的突破.根据计划,新一代基于WebAssembly 技术研发的前端SPA框架Blazor 将于5月19 ...
- 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 正式发布
5月 20日,微软 发布了 Blazor WebAssembly 3.2(https://devblogs.microsoft.com/aspnet/blazor-webassembly-3-2-0- ...
- ASP.NET Core Blazor WebAssembly 之 .NET JavaScript互调
Blazor WebAssembly可以在浏览器上跑C#代码,但是很多时候显然还是需要跟JavaScript打交道.比如操作dom,当然跟angular.vue一样不提倡直接操作dom:比如浏览器的后 ...
- ASP.NET Core Blazor Webassembly 之 路由
web最精妙的设计就是通过url把多个页面串联起来,并且可以互相跳转.我们开发系统的时候总是需要使用路由来实现页面间的跳转.传统的web开发主要是使用a标签或者是服务端redirect来跳转.那今天来 ...
- vs mfc数据与控件绑定错了_ASP.NET Core Blazor Webassembly 之 数据绑定
上一次我们学习了Blazor组件相关的知识(Asp.net Core Blazor Webassembly - 组件).这次继续学习Blazor的数据绑定相关的知识.当代前端框架都离不开数据绑定技术. ...
- 动态字段无法双向绑定_ASP.NET Core Blazor Webassembly 之 数据绑定
上一次我们学习了Blazor组件相关的知识(Asp.net Core Blazor Webassembly - 组件).这次继续学习Blazor的数据绑定相关的知识.当代前端框架都离不开数据绑定技术. ...
- ASP.NET Core Blazor Webassembly 之 渐进式应用(PWA)
Blazor支持渐进式应用开发也就是PWA.使用PWA模式可以使得web应用有原生应用般的体验. 什么是PWA PWA应用是指那些使用指定技术和标准模式来开发的web应用,这将同时赋予它们web应用和 ...
- Hello Blazor:(6)你必须踩过这5个坑,才算学会部署Blazor WebAssembly到静态网站
上次的文章中,我们介绍了Blazor WebAssembly可以部署到静态文件服务器,而每个Github账户都可以使用GitHub Pages功能开一个自己的静态网站. 那么,不用花钱购买服务器,就可 ...
最新文章
- 接口转发和重定向区别(二)
- 34 多线程同步之Event
- 使用纯HTML和OmniFaces构建动态响应的多级菜单
- python—内置函数-字符串,eval,isinstance
- poj2393 其它贪心 挑战程序设计竞赛
- Java IO--字节-字符流转换
- 一线互联网公司Java高级面试题总结
- android中listview刷新数据,Android动态刷新listview中的数据?
- 利用匈牙利法求解指派问题
- 数学建模论文常用LaTeX代码(2021美赛)
- 海康人脸认证设备对接
- 多层陶瓷电容器用处_陶瓷电容器的作用是什么
- Hibernate中类的继承使用subclass实现
- 弹跳机器人 桌游_「桌游推荐」我的机器人哪有这么厉害
- C# serialport串口接收数据异常,出现很多3F的解决方法
- 【基于时间特征交互和引导细化的遥感变化检测 】2022TGRS
- 唯品会获得vip商品详情 API 返回值说明
- 《医疗器械软件注册指导原则》阅读笔记
- 中国DNS解析出现大规模故障
- @Component与@Configuration区别
热门文章
- 16进制可逆加密算法
- 教育管理系统——android家长客户端
- Asp.Net+Jquery.Ajax详解5-$.getScript
- 开机的时候重新设置密linux管理员的密码
- OnIntialDialog() (Dialog应用)和 OnIntialUpdate(View应用)的 程序起始点
- vlc传输_如何使用VLC通过网络流式传输视频和音乐
- JavaScript数据结构与算法——集合
- Web应用架构-Full-text Search Service
- Android插件基础之类加载器学习
- Nodejs前端服务器压缩图片