你做过 Blazor 项目就知道:没有组件库,纯手写 UI 等于从零造轮子——DataGrid 要自己写分页、排序、虚拟滚动;对话框要自己弹遮罩、管焦点;树控件要自己处理懒加载和选中联动。一个企业级后台光"骨架"就得磨几周。

选一个合适的 Blazor UI 组件库,等于把这几周直接拿回来。但 Blazor 的生态比 React/Vue 小太多了,社区里好用的开源库其实一只手数得过来。

这篇盘点我实际调研过的 6 个 Blazor UI 组件库,其中 Polhem、ElementPlus-Blazor、DirectSurface 三个是读者在公众号后台留言推荐的,我挨个去核了一遍它们的源码、NuGet 和维护状态。按"定位差异"排:从最成熟的社区款,到只给 ERP 开发者用的框架型选手,再到完全不一样的 Canvas 派。看完你应该能对上号——你的项目适合哪一个。

码农刚子 · 六年制造业 ERP / .NET 实战 · 只写生产环境踩过的坑

先给一张速览表,有个印象:

库名 设计风格 许可证 活跃度 来源 最适合
MudBlazor Material Design MIT 极高 — 新项目 / 快速原型 / 制造业后台
Ant Design Blazor Ant Design MIT 高 — 中后台 / 企业级复杂表单
Bootstrap Blazor Bootstrap MIT 极高 — ABP / .NET 8-10 / 中文文档党
Polhem Framework Definition-Driven MIT 高 读者 ERP / 表单驱动系统 / 不想写 UI 的人
ElementPlus-Blazor Element Plus MIT 低 读者 从 Vue + Element Plus 转过来的团队
DirectSurface Canvas 渲染 MIT 小而活 读者 桌面级工作台 / 图表面板 / 工控 HMI

一、MudBlazor:社区最成熟,不是之一

GitHub Stars 超过 10.6k ,过去 30 天合并了 20+ 个 PR,上一个大版本 9.5.0 刚刚发布——在 Blazor 生态里,MudBlazor 就是那个"闭眼上"的选项。

几个硬指标:

— MIT 协议,随便用,商用不收费;

— Material Design 全套(Material 3 也在跟),70+ 组件;

— 支持 Blazor Server、WASM、Blazor Web App 三种模式;

— 内置 MudDialog / MudSnackbar / MudPopover 覆盖 90% 交互场景,还有图表、Markdown、Excel 导入导出等扩展包。

我做过两个制造业 ERP 的新项目都用了 MudBlazor,最满意的是它的 DataGrid ——自带虚拟化、分组、列筛选、编辑模式、导出 Excel,一个组件顶半套页面,而且性能在 Blazor 里是第一梯队的。

一句话推荐 :新项目、没特别偏好、想快速出活——直接 MudBlazor。

二、Ant Design Blazor:给企业级复杂表单的

如果你做国内中后台,对 Ant Design 一定不陌生——它是蚂蚁金服给内部系统沉淀的设计语言,20+ 组件、表单体系极其完整。Ant Design Blazor 就是把这套东西搬到 Blazor 上。

最新版 1.6.2(2026-06)持续迭代,GitHub Stars 约 6.2k,月度发版节奏稳定。维护活跃度不错,官方团队在更。

它和 MudBlazor 的最大区别在表单体系 :Ant 的 Form 是"整个表单作为一个验证容器",字段级校验、依赖联动、动态规则一套搞定——做制造业 ERP 里那种"120 个字段、带 20 条联动规则"的复杂单据表单,Ant 比 MudBlazor 省不少事。

一句话推荐 :做国内中后台、复杂表单多、对 Ant 设计语言有执念——Ant Design Blazor。

三、Bootstrap Blazor(blazor.zone):Gitee GVP,中文第一

Gitee 15.8K Stars 的 GVP 项目,国内 Blazor 社区人气最高的组件库——没有之一。

几个硬指标:

— 200+ 组件,比 MudBlazor 还多,覆盖布局、导航、表单、数据、通知、图标、语音等;

— 支持 .NET 6 / 7 / 8 / 9 / 10 全版本;

— 官方适配 ABP 框架;

— 全中文文档 + 国内教程 + 交流群,对英文学不动的开发者极度友好。

设计风格是 Bootstrap 风,不花哨、中规中矩。最大优势其实是本土化生态 ——中文教程、国内 nuget 源、交流群,遇到问题基本能搜到答案。

一句话推荐 :ABP 项目、中文党、不想折腾英文文档——Bootstrap Blazor。

四、Polhem Framework:给不想写 UI 的 ERP 开发者 读者推荐

这个跟前面三个完全不是一个品类。

Polhem 走的是Definition-Driven Architecture (定义驱动架构)路线——用 FormSchema 作为"唯一真相源",同一份定义驱动 UI 布局、数据库结构(TableSchema)、业务规则(验证 + 计算列)。代码量能省多少?一份 Northwind 案例,应用代码里只有定义文件和少量业务对象,CRUD 全是框架生成的。

NuGet 包有三条主线,最近还在持续发版(最新一次 4 天前):

— Polhem.UI.Core 1.9.0(N-Tier + Clean Architecture + MVVM 混合,.NET 核心层);

— Polhem.UI.Avalonia 1.9.0(跨桌面端 + WebAssembly);

— Polhem.Api.Server 1.12.0(服务端壳层)。

有个 ERP 架构师写了 30 篇系列文(2026 iThome 铁人赛),博客园搜索"ERP 架构师笔记"能找到完整目录——这套设计的来龙去脉、取舍、代价,写得比官方 README 清楚。

一句话推荐 :做 ERP / 表单驱动系统、不想一张表单一张表单写 UI——Polhem。但要接受它的学习曲线比纯 UI 组件库陡。

五、ElementPlus-Blazor:Vue 转 Blazor 的过渡款 读者推荐

如果你之前用 Vue + Element Plus,转 Blazor 时想无缝迁移——这个库就是给你准备的。API 命名直接模仿 Element,CSS 直接用 Element 的样式,HTML 结构直接用 Element 的结构。

但要坦白说:它的社区活跃度不如前三个,维护周期偏长(上一次 commit 是两年前左右的旧版 Element-Blazor)。GitHub 上的 ElementPlus-Blazor 是较新的 fork,具体活跃度建议自己查一下。

一句话推荐 :Vue + Element Plus 老团队转 Blazor,降低迁移心智成本——ElementPlus-Blazor。新项目别选。

六、DirectSurface:完全不一样的 Canvas 派 读者推荐

前面五个都是 DOM 派(最终渲染成 HTML 标签 + CSS),这个是Canvas 派 ——所有组件在 Canvas 里自己画。

用途也完全不一样:dock 布局、虚拟网格、图表、表单、主题系统——这些都是桌面级工作台 才有的组件形态。想象一下 VS Code 或 Figma 那种多面板 dock 布局,直接嵌到浏览器里。

MIT 协议,TypeScript 实现,也能通过 JS Interop 给 Blazor 用。虽然维护者不多,但最近 11 天还有 commit ——是"小而活"的状态,不是停滞项目。

一句话推荐 :做工控 HMI、数据大屏、桌面级浏览器工作台——DirectSurface。常规后台别碰,太重。

七、怎么选:三个判断维度

6 个库各有各的活法,但如果要做决策,其实只需要三个问题:

① 你是在"写一套 UI"还是"写一套系统"

如果只是做几个页面、几个表单、几个报表——MudBlazor / Ant Design Blazor / Bootstrap Blazor 三家任选。
如果你的核心矛盾是**"表单太多、每张表都有 100+ 字段,写不完"** ——Polhem 这条路你必须看一眼。

② 你的目标用户在国内还是国外

国内用户 / 中文文档党 → Bootstrap Blazor。
国际团队 / 英文 OK → MudBlazor 或 Ant Design Blazor。

③ 你的 UI 是常规后台还是特殊形态

常规后台(列表 / 表单 / 图表 / 对话框)→ 选 DOM 派三家。
工控 HMI / 多面板 dock 布局 / 桌面级工作台 → DirectSurface。

八、最后一条忠告

选库有个陷阱:别因为它的文档好看、Demo 炫就上 。真正要盯的是三个数:

— GitHub 上最近 30 天有没有合并 PR(维护活跃度);

— NuGet 包最近有没有发版;

— 有没有人在 issue 里"真实生产环境用起来怎么怎么样"。

Blazor 生态还在成长,有些库看起来不错但维护已经停滞。选之前跑一遍这三个数,能挡掉不少坑。

如果你用着上面某一个库遇到了具体问题(DataGrid 分页卡、Dialog 参数传不进去、Upload 拿不到内容……),可以在公众号 CSharp精选营 后台留言,我挑有意思的做成深度踩坑文。