5月 20日,微软 发布了 Blazor WebAssembly 3.2(https://devblogs.microsoft.com/aspnet/blazor-webassembly-3-2-0-now-available/) 。Blazor 是 ASP.NET Core 中的一个新框架,支持使用 C#和 HTML 创建交互式 Web 应用程序。Blazor WebAssembly 使用基于 WebAssembly 的.NET 运行时在客户端的 Web 浏览器中运行单页应用程序。在客户端,它支持的场景包括渐进式 Web 应用程序(PWA)和使用客户端资源的离线应用程序。
Blazor WebAssembly 3.2.0 是一个功能齐全的版本,作为 Blazor WebAssembly实现,并用于生产部署。 也就是 Blazor WebAssembly 作为正式版本发布。 Blazor WebAssembly 3.2 的第一个预览版在 1 月底发布。从那时起,接下来的预览版发布遵循了非常紧凑的时间表,今天在Build 大会上正式发布了Blazor WebAssembly 3.2 。
通常,Web 浏览器可以执行使用 JavaScript 编写的代码,但2017年标准化的 WebAssembly 可以执行其他编程语言的编写的代码,现在主流的4大浏览器都可以完美支持,而且更重要的是他不需要安装插件就可以运行,性能还比JavaScript强。Blazor WebAssembly 正是使用"WebAssembly",这一技术在 Web 浏览器中快速运行的二进制格式来打破现行前端世界的平静。可能是 Web 应用程序框架历史上的一件大事,标准着 WebAssembly 这一技术正式进入前端普及。
微软去年10月和 NET Core 3.1 一起发布了"Blazor Server",它使用Blazor技术作为服务器端。 "Blazor WebAssembly" 在客户端发布,使用 Blazor 技术,但"Blazor PWA"用于开发作为单个应用程序的 PWA。 同时还在进行开发一个实验项目,如"Blazor Hybrid",使用 Electron 和 WebView 开发桌面应用程序,以及用于开发本机应用程序的"Blazor Native"。
上面说了这么多Blazor相关内容,我们更关心的是落地,在官方博客上已经列出了大量的可用于生产的控件库和蓬勃发展的开源项目:
现成组件
当然,任何Web应用程序将需要美丽和功能丰富的组件。传统的.NET 生态的控件厂商已经做好了各种商业的 Blazor UI 组件,这些组件在任何 Blazor 应用程序中都工作出色,包括 Blazor WebAssembly 应用程序:
Telerik
DevExpress
Syncfusion
Radzen
Infragistics
GrapeCity
开源社区
Blazor 还有一个繁荣的开源社区和生态系统。社区成员已经构建了许多出色的组件库、互操作库、测试框架等,然后免费提供它们供您使用。一些很好的例子包括:
Blazored
Blazorise
MatBlazor
BlazorStrap
Ant Design Blazor
bUnit
Blazor Extensions
这里要特别介绍的是国内的一个开源项目 ant-design-blazor,目标是成为Ant Design官方认可的Blazor实现,并丰富Blazor生态,当然国内还有一个ant desin blazor 实现,在国外还有一个,大家可以自己到github 去瞧一瞧。
Github:https://github.com/ant-design-blazor/ant-design-blazor
Demo:https://ant-design-blazor.gitee.io
开发文档:https://github.com/ant-design-blazor/ant-design-blazor/wiki
国内社区还有几个Blazor相关的库:
1、Bootstrap 是 Blazor基于Bootstrap ,这个UI库目前只有服务器端,客户端wasm模式等正式版出来会搞, 仓库地址:https://gitee.com/LongbowEnterprise/BootstrapBlazor ,演示地址:blazor.sdgxgz.com
2、Blazui 是 Element UI 的 CSS 和 HTML 结构 仓库地址:https://github.com/wzxinchen/Blazui ,演示地址 http://blazui.com:9000