.NET 5下的Blazor是否可以大规模正式使用?

今天在微信群讨论了很多Blazor是否可以正常用的问题。大家争的面红耳赤的。

于是趁着无聊,就水了这么一篇文。

还记得Blazor还在预览版的时候,我就开始关注Blazor了。

那会儿调试Blazor还得在浏览器地址栏输入一堆命令,调试都贼不方便。打包出来也是很大,浏览器也很卡顿。

可以从以下几个方面来说一下为什么我认为Blazor可以在小规模的正式环境中使用。以及哪些地方不太适用Blazor

1.包大小

但是如今几年过去了。Blazor从一开始的一堆好几M的库,到现在5.0版本

Hello World的包大小已经缩减到一百多kb左右了。当然现在依然没法和Vue NG这样的能缩减到50kb以下的框架来比。(这点大小我认为不影响框架加载速度)

2.功能对比

一个优秀的SPA框架,各方面也要优秀。我们可以使用Blazor对比一下Vue.js的功能。

Vue.js Blazor
模板 支持 支持
状态管理 支持 不支持
动画组件 支持 不支持
路由组件 支持 支持
组件库数量
组件库质量
使用人数
服务器渲染 支持 支持
插件

以上对比来自己我个人的主观使用。

.NET 5.0让我觉得眼前一亮的是提供一个虚拟滚动组件:Virtualize 这个功能Vue.js至今没有官方实现。但是Blazor居然提供了。这里要给微软点个赞。

3.适用场景以及不适用的场景

从Blazor的文档来看,Blazor基本没有对老旧浏览器有一个良好的支持。

浏览器环境

如果有需要兼容IE10或者11+版本的需求,不要选择Blazor。不挑选浏览器环境的话,可以选择Blazor。移动端 TO b项目可以选择Blazor。 To c慎重(毕竟to c客户不能要求别人换浏览器)

CSS功力

为什么我会有提出这个点呢?因为Blazor的UI组件库质量一言难尽。

  • Element-blazor处于断更状态。几个月没更新了。

  • Ant-blazor的官网都随时挂掉。组件也贼卡顿。

  • 唯一感觉质量还行的BootStrapBlazor,UI风格有点太老。需要自己调整CSS。(如果对界面要求不高的,可以使用。)


用Blazor的需要什么特殊功能的组件的话(如颜色选择器,Cron选择器),一般找不到合适的第三方。需要自己动手解决写组件的问题。

很多长期做纯后端工作的老铁们都觉得写CSS很费劲。实际上并不是,大约在去年7月之前,我也是一个CSS小菜鸡。但是去年不知道脑子抽什么风。想用自己弄一套组件库出来。于是重温CSS,闲暇时间也撸了几十个感觉还行的组件库(后期会开源,基于Vue.js写的)

总结

如果你正在做一个内部使用的简单后台系统,那完全没问题。如果你要做一个很复杂且要长期维护的项目,建议等Blazor的进一步优化。


欢迎关注我的公众号 :qingchengcoding

一个以ASP.NET Core+Vue.js的Web开发知识的公众号

posted on   快乐海盗  阅读(6744)  评论(38编辑  收藏  举报

编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· 展开说说关于C#中ORM框架的用法!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示