Element Plus 和 Ant Design Vue 的分析对比

8,397 阅读3分钟

自 Vue3 发布后,各家第三方库开始陆续重构并支持 Vue3,国内两大知名框架Element PlusAnt Design Vue也相续发布新版支持 Vue3。随着 Vue3 的不断成熟稳定,也实际应用到了我们的工作中,我们到底应该怎么选择呢?本文也翻阅相关资料对两个框架进行对比和测评。

对比

框架名称组件数量单元测试率维护团队GitHub Star数(2022/03/10)
Element Plus6881%饿了么19k
Ant Design Vue 3.x6487%社区主导,蚂蚁金服技术支持17.8k

下载量

企业微信截图_16784435049647.png 从上图可以看出,Element Plus正式版上线后,修复了很多问题,下载量也逐步上升,也是因为Element UI有比较好的口碑和热度。而Ant Design Vue是比较平稳的,依然也是很多人的选择。

框架的变化

Element Plus 为了适配 Vue 3 对 Element UI 进行的完全重构。也是因为 Elment UI 以前再第三方组件库方面做了太多的修修补补,也没办法解决问题,而这次的重构完完全全解决了这一痛点。

Ant Design Vue 自1.x开始就只是支出Vue2,随着Vue3的普及,Ant Design Vue就推出了2.x来兼容Vue3,但是并没有什么新特性的加入,完完全全只是为了做兼容处理。后续为了更好的兼容Vue3,就推出了3.x版本,性能和功能上都有了很大的提升,相比2.x版本更加成熟稳定了。

兼容性

Element PlusAnt Design Vue3 都已不在支持 IE 了,并不是他们自己放弃了 IE 而是 Vue3 本身已经放弃了 IE。如果想在低版本浏览器上正常使用这两个框架,可使用 Babel、ESBuild 或其他转换工具,并引入相应的 polyfill。

组件特点

  • table 组件:Element Plus 自带 virtual scroll ,Ant Design Vue 需要购买 Surely 这个高级包。如果需要用表格处理大量数据,Element Plus 更合适。Ant Design table ,定义好 columns 有几列后,用 template 写法就无法用 v-if 去隐藏某一列
  • 在 Ant Design Vue 里,Modal.confirm 某些 api 不支持 promise 写法,需要写在回调函数里
  • TreeSelect 组件:Ant Design tree 组件写自定义内容不方便。而 Element 更好用。
  • form 表单组件:两个框架功能基本一致,包含数据收集,表单校验和提交功能。 inputcheckboxselect 等常用功能两个框架都有。
  • Ant Design Vue 2 & 3 是最早支持 Vue 3 的框架之一,新版本解决了很多 Vue 用户群在旧版本不喜欢的「单向数据流 value + change event」,实现了全 v-model 使用组件。

维护状态

Element Plus 是由饿了么团队开发支持和维护。从vue3发布正式版后开始重构的付出,大家有目共睹,可以放心去用,不要担心维护问题。

Ant Design Vue 是 Ant Design的 Vue 实现,UI 风格和 Ant Design 保持 1:1 复刻。Ant Design Vue 虽然是以个人开发开始起步的,算是社区版,但它得到了蚂蚁官方认可,挂在蚂蚁金服底下的正式项目,保持了不错的更新和维护状态。

感受

个人体验

我更加倾向于 element plus , 也可能是因为我最早接触的是element ui管理系统的原因,视觉感上更加舒服,文档详细,更加容易上手。(用习惯的原因)

Ant Design vue 3.x ,也有一定的优势。从功能上来讲,后者更加齐全,组件更加强大。有兴趣的同学可以深入了解www.antdv.com/docs/vue/in…

个人建议

如果是想快速上手的话,建议用 element plus ;反之比较复杂的后台管理平台,可以采用 ant design vue ,而且 ant design vue 无论表格还是表单,都是高度可配置化的。