最近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 适合你吗?相关推荐

  1. Blazor WebAssembly 3.2.0 已在塔架就位 将发射新一代前端SPA框架

    最美人间四月天,春光不负赶路人.在充满无限希望的明媚春天里,一路风雨兼程的.NET团队正奋力实现新的突破.根据计划,新一代基于WebAssembly 技术研发的前端SPA框架Blazor 将于5月19 ...

  2. Blazor WebAssembly 3.2.0 Preview 4 如期发布

    ASP.NET团队如期3.16在官方博客发布了 Blazor WebAssembly 3.2.0 Preview 4:https://devblogs.microsoft.com/aspnet/bla ...

  3. Blazor WebAssembly 3.2 正式发布

    5月 20日,微软 发布了 Blazor WebAssembly 3.2(https://devblogs.microsoft.com/aspnet/blazor-webassembly-3-2-0- ...

  4. ASP.NET Core Blazor WebAssembly 之 .NET JavaScript互调

    Blazor WebAssembly可以在浏览器上跑C#代码,但是很多时候显然还是需要跟JavaScript打交道.比如操作dom,当然跟angular.vue一样不提倡直接操作dom:比如浏览器的后 ...

  5. ASP.NET Core Blazor Webassembly 之 路由

    web最精妙的设计就是通过url把多个页面串联起来,并且可以互相跳转.我们开发系统的时候总是需要使用路由来实现页面间的跳转.传统的web开发主要是使用a标签或者是服务端redirect来跳转.那今天来 ...

  6. vs mfc数据与控件绑定错了_ASP.NET Core Blazor Webassembly 之 数据绑定

    上一次我们学习了Blazor组件相关的知识(Asp.net Core Blazor Webassembly - 组件).这次继续学习Blazor的数据绑定相关的知识.当代前端框架都离不开数据绑定技术. ...

  7. 动态字段无法双向绑定_ASP.NET Core Blazor Webassembly 之 数据绑定

    上一次我们学习了Blazor组件相关的知识(Asp.net Core Blazor Webassembly - 组件).这次继续学习Blazor的数据绑定相关的知识.当代前端框架都离不开数据绑定技术. ...

  8. ASP.NET Core Blazor Webassembly 之 渐进式应用(PWA)

    Blazor支持渐进式应用开发也就是PWA.使用PWA模式可以使得web应用有原生应用般的体验. 什么是PWA PWA应用是指那些使用指定技术和标准模式来开发的web应用,这将同时赋予它们web应用和 ...

  9. Hello Blazor:(6)你必须踩过这5个坑,才算学会部署Blazor WebAssembly到静态网站

    上次的文章中,我们介绍了Blazor WebAssembly可以部署到静态文件服务器,而每个Github账户都可以使用GitHub Pages功能开一个自己的静态网站. 那么,不用花钱购买服务器,就可 ...

最新文章

  1. 接口转发和重定向区别(二)
  2. 34 多线程同步之Event
  3. 使用纯HTML和OmniFaces构建动态响应的多级菜单
  4. python—内置函数-字符串,eval,isinstance
  5. poj2393 其它贪心 挑战程序设计竞赛
  6. Java IO--字节-字符流转换
  7. 一线互联网公司Java高级面试题总结
  8. android中listview刷新数据,Android动态刷新listview中的数据?
  9. 利用匈牙利法求解指派问题
  10. 数学建模论文常用LaTeX代码(2021美赛)
  11. 海康人脸认证设备对接
  12. 多层陶瓷电容器用处_陶瓷电容器的作用是什么
  13. Hibernate中类的继承使用subclass实现
  14. 弹跳机器人 桌游_「桌游推荐」我的机器人哪有这么厉害
  15. C# serialport串口接收数据异常,出现很多3F的解决方法
  16. 【基于时间特征交互和引导细化的遥感变化检测 】2022TGRS
  17. 唯品会获得vip商品详情 API 返回值说明
  18. 《医疗器械软件注册指导原则》阅读笔记
  19. 中国DNS解析出现大规模故障
  20. @Component与@Configuration区别

热门文章

  1. 16进制可逆加密算法
  2. 教育管理系统——android家长客户端
  3. Asp.Net+Jquery.Ajax详解5-$.getScript
  4. 开机的时候重新设置密linux管理员的密码
  5. OnIntialDialog() (Dialog应用)和 OnIntialUpdate(View应用)的 程序起始点
  6. vlc传输_如何使用VLC通过网络流式传输视频和音乐
  7. JavaScript数据结构与算法——集合
  8. Web应用架构-Full-text Search Service
  9. Android插件基础之类加载器学习
  10. Nodejs前端服务器压缩图片