ASP.NET团队如期3.16在官方博客发布了 Blazor WebAssembly 3.2.0 Preview 4:https://devblogs.microsoft.com/aspnet/blazor-webassembly-3-2-0-preview-4-release-now-available/ ,同时在twitter上发了一条信息带上了下面这张图,这张图很形象的说明了Blazor Webassembly 正在进行最后的准备发射,按照开发计划,将在下周4.23 发布Blazor WebAssembly 3.2.0 Preview 5, 完成功能特性的开发,接下来就是5月初发布Blazor WebAssembly 3.2.0 RC了,将在5.19 的微软Build大会正式发射升空,进入使用C#进行前端开发旅程。
Blazor WebAssembly 3.2.0 Preview 4新增功能:
启动期间访问主机环境:在
WebAssemblyHostBuilder通过
IWebAssemblyHostEnvironment的
HostEnvironment
属性公开,在应用环境中的启动过程中区分(开发,分期,生产等)的细节。如果该应用程序托管在ASP.NET Core应用程序中,则该环境将反映ASP.NET Core环境,因此ASP.NET Core肯定是最佳开发环境,毕竟是亲儿子,当然也很乐意成为其他环境下的干儿子,不管你是使用Java,PHP,NodeJs还是go,Blazor可以作为前后端分离的前端框架让你使用C#写前端逻辑。日志改进:在
WebAssemblyHostBuilder
现在公开一个Logging
类型的属性ILoggingBuilder
,可以用于配置日志记录应用程序,类似于你会如何配置在ASP.NET Core 应用记录在服务器上,也就是把Microsoft.Extensions.Logging 带给了前端,还剩一个中的配置框架要等到下周发布Preview 5了Brotli 预压缩:当发布Blazor WebAssembly应用程序时,已使用最高级别的Brotli预压缩,以进一步减小应用程序的大小并消除对运行时压缩的需求。ASP.NET Core托管的应用程序已经无缝地利用了这些预压缩的文件。对于独立应用程序,您可以配置主机服务器以将请求重定向到预压缩文件。使用预压缩的文件,已发布的Blazor WebAssembly现在为1.8MB,低于之前预览中的2MB。没有Bootstrap CSS的最小应用程序减小到1.6MB。
并行加载程序集和运行时:Blazor WebAssembly应用程序现在可以并行加载程序集和运行时,从而节省了应用程序加载时间的宝贵时间。
简化应用程序的IL链接器配置:Blazor WebAssembly应用程序提供.NET IL链接器配置文件,以自定义链接器的行为
本地化支持:Blazor WebAssembly应用程序现在支持使用.NET资源文件(.resx)和附属程序集进行本地化。
智能提示中的获得各种Blazor WebAssembly 的API文档
目前Blazor 存在的主要问题就是调试支持,虽然目前对调试的支持有一些进展,但是在Visual Studio和Visual Studio Code中的当前调试经验仍然存在许多限制。我们可以在Mono的Webassembly的开发问题列表里看到大量的都是Debugger支持问题https://github.com/mono/mono/milestone/17:
为什么会出现Blazor?
现代浏览器都支持WebAssembly,WebAssembly是一种新的编码方式,可以在现代的网络浏览器中运行二进制格式文件,以接近原生的性能运行。Blazor 尝试使用WebAssembly和Mono将.NET带回到浏览器。除了用C#来开发之外,还可以让C#运行在浏览器(使用WebAssembly)上,这样dotnet的众多api我们都可以在浏览器使用了。
Blazor文档相对齐全:https://docs.microsoft.com/zh-cn/aspnet/core/blazor/get-started ,官方团队正在加强这文档,在github 有个issue 在追踪 https://github.com/dotnet/aspnetcore/issues/20890,欢迎大家参与。
目前我们在开发一个开源项目 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
Blazor文档:https://docs.microsoft.com/zh-cn/aspnet/core/blazor/?view=aspnetcore-3.1
欢迎任何形式的issue和PR