2024年到了,我是否应该选择MUI?

2024年已经来临,React组件库的生态依然十分繁荣,本文会通过几个角度来拆解一下两个时下流行的组件库,通过客观的分析针对不同的角度来让使用者选择的时候更加的客观。

我们为什么要选择组件库?

一般来说每家公司在构建Web网站的时候都会选择一个组件库,组件库解决了大量的重复性工作,有非常好的开箱即用的组件,比如Select,Input,CheckBox等。这些组件通过自定义样式或者通过自带的美观的样式,可以使用他们快速制作精美的网站,而不需要从零开始构建大量的基础功能。

所以总结一下我们一般在两个场景使用组件库:

  • 外部工具:直接面向公司的用户,通常有公司自己的风格,更加美观和可响应。
  • 内部工具:面向公司内部的员工使用,设计美观即可,更加注重功能的快速实现。

下面我们会根据几个下面几个点来分析两个组件库

  • 设计
  • 能力丰富度
  • 不同场景下如何选择

内部工具场景的其他选择

ILLA Cloud是一个开箱即用的低代码工具,使用ILLA可以无需新建任何项目,使用简单的JS即可快速构建内部工具

  • Web & App Admin Panel
  • Data Dashboard
  • Customized B2B Tools

相对于使用组件库构建的场景下,使用ILLA Cloud可以10x速度构建上述工具,并且ILLA Cloud支持多人协作,可以团队内部多人协同编辑。

MUI的特点

MUI的一些详细数据

  • ⭐ Github Star:90k
  • ⏬ NPM Download: 每周3,263,852次下载
  • 💪🏼 First Release Date:Nov 6, 2014

MUI作为一个老牌项目,从2014年维护至今,已经有将近10年的年龄,相信从稳定性的角度,肯定是开源项目里面的翘楚。并且超高的Star数和每周下载量可以保证社区是持续不断活跃的状态

设计

设计风格上,MUI严格遵守了Google大名鼎鼎的Material Design设计风格。并且MUI支持的定制化能力非常丰富,可以满足对内对外的大部分场景,很多知名的开源项目也是使用MUI来构建前端页面的。对于大多数的功能,MUI基本上提供了最全面的支持。

除了常见的

  • 颜色
  • 圆角
  • 暗色模式 / 亮色模式

之外。MUI支持完整的任何字体,字号,颜色,内外边距的各种配置,作为一个构建了10年的项目,可以说功能是非常强大了。

在CSS的支持上MUI支持了一套自定义的系统,整体的布局使用了emotionjs来进行样式的调节,这可能存在一定的学习成本,不能做到直接开发,有些时候对于部分样式的修改还是需要查阅文档,这可能对一些开发者不够友好。

丰富度

MUI的组件类型非常的复杂,把整体组件划分为了几个纬度。

分别是

  • MUI Core:MUI的基础功能组件,包括大量的基础组件和样式系统
  • MUI X:MUI的高性能组件和复杂组件,包括高性能表格,图表等

如果你在开发一个非常复杂的系统可以使用MUI的全家桶解决方案,不过MUI X是一个收费组件库,可能需要为此而花费一笔订阅的费用。

MUI是一个比较重型的仓库,代码量和维护时间极长,可定制性非常高,比较适合大型的项目来使用。在MUI的仓库里面你可以找到大量的功能。

我该如何选择

✅优势

如果你想要开发大型项目,对于定制化有极高的要求,并且希望使用高性能的数据组件和图表组件,并且业务复杂度很高,而且愿意为此而订阅MUI X,推荐使用MUI来进行开发,灵活的配置和大量的组件可以完全满足你的需求。

❌劣势

如果你需要一个轻量级的框架,并且希望只使用css方案来调整布局,这里不推荐使用。MUI有一套完整的自有设计体系,存在一定的学习成本,并且Material Design的设计并不一定符合所有人的审美。如果存在这种情况,可以看看其他的开源仓库。

相关推荐
喵叔哟28 分钟前
重构代码之取消临时字段
java·前端·重构
还是大剑师兰特1 小时前
D3的竞品有哪些,D3的优势,D3和echarts的对比
前端·javascript·echarts
王解1 小时前
【深度解析】CSS工程化全攻略(1)
前端·css
一只小白菜~1 小时前
web浏览器环境下使用window.open()打开PDF文件不是预览,而是下载文件?
前端·javascript·pdf·windowopen预览pdf
方才coding1 小时前
1小时构建Vue3知识体系之vue的生命周期函数
前端·javascript·vue.js
阿征学IT1 小时前
vue过滤器初步使用
前端·javascript·vue.js
王哲晓1 小时前
第四十五章 Vue之Vuex模块化创建(module)
前端·javascript·vue.js
丶21361 小时前
【WEB】深入理解 CORS(跨域资源共享):原理、配置与常见问题
前端·架构·web
发现你走远了1 小时前
『VUE』25. 组件事件与v-model(详细图文注释)
前端·javascript·vue.js
Mr.咕咕1 小时前
Django 搭建数据管理web——商品管理
前端·python·django