项目首页 https://material-ui.chloerei.com/
GitHub https://github.com/chloerei/material-ui
这个项目源自 Campo UI,以前发过帖子介绍 https://ruby-china.org/topics/39733 。由于 Campo 项目不活跃了,但是这个 UI 库我一直在用,所以改名 Material UI 移到了个人 GitHub 下。NPM 包名支持 scope 所以不担心重名。
这次更新主要是:
Google 10 月底发布了 Material Design 3 指引(https://m3.material.io/),我看了之后感觉比 2 更时尚了,所以立即开始更新自己的 UI 库。值得一提的是 Google 自己的 web UI 库(https://github.com/material-components/material-web)还在开发中,所以我的 UI 库比 Google 更早实现 M3 设计。
Tailwind CSS 是几年来比较火的 UI 库,它的特点是工具类优先,提倡库应该只提供工具类,然后让使用者自由组合。我觉得 Tailwind 的理念有值得学习的地方,所以增加了一大堆工具样式,例如 padding-3
,display-flex
。这样既可以有一大堆开箱即用的样式(例如 Button,Card),也方便快速添加局部样式,免去命名的痛苦。
这个项目的缺点也是很明显的,使用前须知。
发布这篇帖子前我已经恶补了一大堆文档,但还是不足够。遇到问题的时候需要在 GitHub 讨论区询问。
我希望 class name 尽可能稳定和简单,但使用过程还是会发现考虑得不完善有需要更改的地方,现在还达不到稳定。
精力有限,基本上我只在 Mac 和 iPhone 上测试了 Chrome/Safari/Firefox 的样式,需要更多兼容性反馈。
基于上述缺点,如果是希望快速搭建原型,想用一个可靠的 UI 库,那么我建议用 Bootstrap。如果嫌 Boostrap 的默认样式不够好看,可以购买它的付费主题。设计并不只是一个库那么简单,Bootstrap 的付费主题物超所值。
Material UI 适合想应用 Material Design 的业余项目,或者用于学习 CSS/JavaScript。
我个人还会继续用这个库开发项目,并且不断完善。欢迎在 GitHub 提交 Issus 或者 Discussion。