shadcn UI是一个新诞生的项目,也是2023年前端领域最火的项目之一。
shadcn UI发布于2023年1月,仅用1年时间,它在GitHub中的star数量就增长至 39.5k ,是2023年在GitHub上star增长最多的前端开源技术。
出自https://risingstars.js.org/2023/zh#section-all
2024年3月,shadcn UI项目的star数增长至50k,截至目前已达到75k,非常接近Ant Design的star数量。
这种成长速度非常惊人,shadcn/ui 究竟有什么魅力呢?为何大家都愿意贡献一颗star给它呢?
参考来源:https://medium.com/%E6%89%8B%E5%AF%AB%E7%AD%86%E8%A8%98/why-shadcn-ui-is-so-popular-in-2023-0f95e66f3ddc
shadcn/ui 是 Vercel 的工程师推出的一款组件合集,建立在 Tailwind CSS 和 Radix UI 之上,目前包括近50个独立组件。根据官方说明,这款产品被定义为「组件合集」,而非传统的「组件库」。
01
Shadcn UI 的特色
02
Shadcn UI使用 Tailwind CSS 封裝 Radix UI
Tailwind CSS 无疑是近年来最常被提及的、实现了 atomic css 的 CSS 框架,而 Shadcn UI 则用 Tailwind CSS 封装了 Radix UI 的元件。
Radix UI 是一个 headless 组件库,这表示它的组件没有任何的样式,它提供了可以定制化样式的方式,让用户自定义组件的样式,将UI的全部样式交给使用者,实现业务需求的高度定制化。
参考来源:https://zhuanlan.zhihu.com/p/694048244
03
Shadcn UI也存在一些新的挑战和问题
由于Shadcn UI将全部UI样式交给了开发者,这种做法带来了新的挑战。
由此可以看出,对于开发者来说,若想要处理好UI组件的样式、全局的把握、定制新的组件,就需要有较高的思维、理解、结构布局等能力。
如果你在工作中使用 Ant Design 或Element Plus 组件库时,需要修改某个组件的功能或是变更组件的交互方式,基本上是难以实现的。因为Ant Design和Element Plus组件库都是被封装好的,底层是耦合的代码,很难进行更改。