Metis UI:下一代 React 组件库,重新定义前端开发体验 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Minimx
V2EX    React

Metis UI:下一代 React 组件库,重新定义前端开发体验

  •  
  •   Minimx 95 天前 4502 次点击
    这是一个创建于 95 天前的主题,其中的信息可能已经有所发展或是发生改变。

    Metis UI:下一代 React 组件库,重新定义前端开发体验

    在快速发展的前端生态中,开发者们一直在寻找既能提高开发效率,又能保证代码质量和用户体验的解决方案。今天,我们很兴奋地向大家介绍 Metis UI 一个基于 Tailwind CSS 构建,继承 Ant Design 交互逻辑的现代 React 组件库。

    为什么选择 Metis UI ?

    在众多组件库中,Metis UI 独树一帜,它不是简单的重复造轮子,而是在继承优秀设计理念的基础上,带来了全新的开发体验:

    继承经典,超越传统

    Metis UI 基于 Ant Design 久经考验的组件逻辑构建,确保了交互模式的一致性和可靠性。同时,我们抛弃了传统的 CSS-in-JS 方案,全面拥抱 Tailwind CSS ,为开发者带来了前所未有的样式自由度。

    极致的开发体验

    import { Button, Input, Form } from 'metis-ui'; // 简洁的 API ,强大的功能 <Button type="primary" className="hover:scale-105 transition-transform" > 自定义样式,轻而易举 </Button> 

    无需学习复杂的主题配置,直接使用 Tailwind 类名即可实现个性化定制。

    技术亮点

    1. 完美的 TypeScript 支持

    interface ButtonProps { type?: 'primary' | 'default' | 'dashed'; size?: 'small' | 'middle' | 'large'; loading?: boolean; ... } 

    每个组件都提供完整的类型定义,让你的开发过程更加安全和高效。

    2. Tailwind CSS 深度集成

    <Button className="bg-gradient-to-r from-blue-500 to-purple-600 hover:from-blue-600 hover:to-purple-700"> 渐变按钮 </Button> 

    利用 Tailwind 的强大功能,轻松实现复杂的样式效果。

    3. 文档驱动开发

    • 详细的 API 文档
    • 可交互的代码示例
    • 多语言支持
    • 移动端友好的浏览体验

    快速开始

    安装

    # npm npm install metis-ui # pnpm (推荐) pnpm add metis-ui # yarn yarn add metis-ui 

    配置

    向你的入口 CSS 文件添加一个 @plugin 以导入 Metis UI 。

    @import 'tailwindcss'; @source './node_modules/metis-ui/es'; @plugin 'metis-ui/plugin'; 

    开始使用

    import { Alert } from 'metis-ui'; const App = () => ( <div className="h-screen w-screen"> <Alert type="info" banner message="Hello" description="Welcome to metis-ui" /> </div> ); export default App; 

    主题定制

    Metis UI 只针对颜色进行主题定制,默认提供了两套主题:lightdark。您还可以创建自己的自定义主题或修改内置主题。

    您可以在 CSS 文件中的 @plugin "metis-ui/plugin" 后添加括号来管理主题,详细介绍

    Metis Plus - 企业中后台系统模板

    我们提供了一套开箱即用的企业中后台系统模板,基于 Reactreact-routerTypeScriptViteTailwindCSSZustandfaker-jsMSW 等技术栈构建。它内置了开箱即用的数据流、国际化、菜单、模拟数据、权限管理、主题切换等功能,助力企业快速搭建高质量的中后台应用。

    ├── .husky # Husky 钩子配置目录 ├── public # 公共静态资源目录 ├── src # 源码目录 │ ├── apis # 服务端接口请求相关 │ ├── assets # 静态资源(图片、SVG 等) │ ├── components # 通用组件 │ ├── hooks # 自定义 hooks │ ├── layouts # 页面布局组件 │ ├── locale # 国际化资源 │ ├── mocks # Mock 数据与服务 │ ├── pages # 页面组件 │ ├── store # Zustand 状态管理 │ ├── types # TypeScript 类型定义 │ ├── utils # 工具函数与工具类 │ ├── loading.tsx # 全局 Loading 组件 │ ├── main.tsx # 应用入口文件 │ ├── routes.tsx # 路由和菜单配置 │ └── vite-env.d.ts # Vite 环境类型声明 ├── .env # 环境变量配置文件 ├── .lintstagedrc # lint-staged 配置文件 ├── .prettierignore # Prettier 忽略文件配置 ├── .prettierrc # Prettier 代码格式化配置 ├── commitlint.config.js # 提交规范校验配置 ├── eslint.config.js # ESLint 代码规范配置 ├── index.html # 项目入口 HTML ├── package.json # 项目依赖与脚本配置 ├── tailwind.css # TailwindCSS 全局样式入口 ├── tsconfig.app.json # TS 应用配置 ├── tsconfig.json # TS 根配置 ├── tsconfig.node.json # TS Node 配 

    官方资源

    tips: 网站匀部属在 Github Pages, 访问可能需要梯子

    36 条回复    2025-07-09 14:10:07 +08:00
    dnslint
        1
    dnslint  
       95 天前
    前端就是无数个轮子
    aladdinding
        2
    aladdinding  
       95 天前
    我要下下一代
    icy37785
        3
    icy37785  
       95 天前 via iPhone   8
    我现在选型的唯一原则就是 ai 擅不擅长
    Cheez
        4
    Cheez  
    PRO
       95 天前
    我想问问,这个 UI 具体的好处是什么?
    chanderbing
        5
    chanderbing  
       95 天前
    这个 disable 之后的对比度是认真的吗,我都快看不清了
    MrYELiex
        6
    MrYELiex  
       95 天前   4
    antd 这种适合后台复杂应用、组件功能多、样式层级多的组件库,并不适合自身使用 tailwind 实现。

    在 ant 的适合场景下大部分情况只需要修改颜色(主题)、布局。如果自定义太多样式,会指数级增加维护成本;如果按大部分使用 ant 的场景,不自定义样式,那用 tailwind 也没有太多价值了。

    tailwind+react 原子化组件更多还是适合前端落地页以及面向 C 端的后台,或者设计比较好的管理后台:样式和交互优先级高,同时业务组件的复杂度没有那么高。在当前国内大部分 B/C 后台都停留在把数据库按表格展示给客户+使用大表单创建数据这种设计思路下面,其实并不合适。
    MrYELiex
        7
    MrYELiex  
       95 天前
    #6 指非原子化组件库自身使用 tailwind 实现,使用上通过 tailwind 维护布局配合全局颜色主题还是比较高效的
    NewYear
        8
    NewYear  
       95 天前
    别在 React 里卷啦,太多 UI 库了。

    可以看看 VUE 这边啊,这边还很贫瘠,有轮子可以往这个方向造啊。。。。。
    red13
        9
    red13  
       95 天前
    我只知道 Material UI ,Metis UI 又是个什么?
    importmeta
        10
    importmeta  
       95 天前
    Tailwind CSS 这种歪门邪道, 我看它哪天.
    justdoit123
        11
    justdoit123  
       95 天前
    @MrYELiex #6 #7 非常同意你的看法。
    ruaRobot
        12
    ruaRobot  
       95 天前
    和 antd 相比优势在哪儿
    zzzzhan
        13
    zzzzhan  
       95 天前
    怎么动不动就重新定义啊
    azhong123
        14
    azhong123  
       95 天前
    继续造轮子
    TonyG
        15
    TonyG  
       95 天前
    我的老天爷,你一个人干了整个 arco design 的 UI 麽(′`)

    我也在自己做(其实是抄) UI 库,所以我知道有多难,这组件的质感与 arco design 很像,收藏,作为抄袭对象了,谢谢楼主!
    googlehub
        16
    googlehub  
       95 天前
    这种库其实没太大必要继续了,市面上已经有非常标准的库,AI 的时代,后面的组件全部都是 prompt ,一个 prompt 对应一个组件,这种完全是另外一个层面的体验,而且效果还出奇的优秀。比如: https://21st.dev/s/sign-in ,可以参考下。
    dufu1991
        17
    dufu1991  
       95 天前
    非常支持,我都已经在计划将 antd 复刻之后按照 Tailwind 写一套,Tailwind 写起来太爽了。后续我有新项目会用你这个,遇到问题和需求也会参与维护。感谢你的付出。
    cutchop
        18
    cutchop  
    &nsp;  95 天前
    claude 收录你了吗
    dwu8555
        19
    dwu8555  
       95 天前
    现在都直接用 AI 了
    hugozach
        20
    hugozach  
       95 天前
    这有啥意义 都是拿别人的改一下 我看最早的提交记录里面有 ant-design
    Gilfoyle26
        21
    Gilfoyle26  
       95 天前
    @MrYELiex #6 tailwind 本身有局限性,tailwind 不是银弹。
    wxxxcxx
        22
    wxxxcxx  
       95 天前
    习惯了 shadcn
    Minimx
        23
    Minimx  
    OP
       95 天前 via iPhone
    @TonyG 我也是抄,在 antd 的基础上改的
    CuteGirl
        24
    CuteGirl  
       94 天前
    看起来组件还是蛮好看的 收藏了 下一次就用这个试试看
    llsquaer
        25
    llsquaer  
       94 天前
    之前学习,选了那么久,最后还是觉得 element pro 好。 因为 AI 基本不得理解是错。
    zhengfan2016
        26
    zhengfan2016  
       94 天前
    @MrYELiex #6 反正我是爱用 tailwind 类的 ui 的,无他,因为设计稿不还原会挨设计的骂。

    antd 和 mui 之类根本不适合根据设计稿样式快速做 ui 上的魔改,去最大程度贴合设计稿的样式。我 leader 推崇 mui ,我本人是极力推崇 shadcn ui 和 redix 的,好改出活快
    vcmt
        27
    vcmt  
       94 天前
    用 ant design 主要是用它的免费的 ProTable,ProForm 等数据组件。其他的什么 button 之流的,大把可选的 UI 组件库。
    wogogoing
        28
    wogogoing  
    PRO
       94 天前 via iPhone
    @MrYELiex 赞同
    thisrabbit
        29
    thisrabbit  
       94 天前
    @MrYELiex #6 请教一下相较于目前的表格展示/大表单创建数据,更新和用户体验友好的 B/C 后台形式是怎样的感觉?
    arfaWong
        30
    arfaWong  
       94 天前
    @Minimx #23 还在想怎么一些组件的属性和 atnd 的一模一样
    Minimx
        31
    Minimx  
    OP
       94 天前 via iPhone
    @vcmt 也集成了些许 protable 的功能
    hoythan
        32
    hoythan  
       94 天前
    tailwind 这类原子化是前端最佳解决方案
    EmptyDX
        33
    EmptyDX  
       94 天前
    #为什么要选择 Metis UI ?
    MrYELiex
        34
    MrYELiex  
       94 天前
    #29 @thisrabbit 试试国外的 sass 服务后台
    MrYELiex
        35
    MrYELiex  
       94 天前
    #26 @zhengfan2016 antd mui 都不适合做视觉、交互要求高的页面 只适合做中后台。早期生态没有类似的组件库,但是现在有大把可选了,shadcn/ui radix specturm 都是面向这种场景的
    qq976739120
        36
    qq976739120  
       94 天前
    你被 ai 选择的几率太低了 ....
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2735 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 29ms UTC 11:37 PVG 19:37 LAX 04:37 JFK 07:37
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86