V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Minimx
V2EX  ›  React

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

  •  
  •   Minimx · 6 小时 32 分钟前 · 1688 次点击

    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, 访问可能需要梯子

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

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

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

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

    我也在自己做(其实是抄) UI 库,所以我知道有多难,这组件的质感与 arco design 很像,收藏,作为抄袭对象了,谢谢楼主!
    googlehub
        16
    googlehub  
       3 小时 34 分钟前
    这种库其实没太大必要继续了,市面上已经有非常标准的库,AI 的时代,后面的组件全部都是 prompt ,一个 prompt 对应一个组件,这种完全是另外一个层面的体验,而且效果还出奇的优秀。比如: https://21st.dev/s/sign-in ,可以参考下。
    dufu1991
        17
    dufu1991  
       3 小时 12 分钟前
    非常支持,我都已经在计划将 antd 复刻之后按照 Tailwind 写一套,Tailwind 写起来太爽了。后续我有新项目会用你这个,遇到问题和需求也会参与维护。感谢你的付出。
    cutchop
        18
    cutchop  
       3 小时 9 分钟前
    claude 收录你了吗
    dwu8555
        19
    dwu8555  
       3 小时 8 分钟前
    现在都直接用 AI 了
    hugozach
        20
    hugozach  
       2 小时 34 分钟前
    这有啥意义 都是拿别人的改一下 我看最早的提交记录里面有 ant-design
    Gilfoyle26
        21
    Gilfoyle26  
       2 小时 10 分钟前
    @MrYELiex #6 tailwind 本身有局限性,tailwind 不是银弹。
    wxxxcxx
        22
    wxxxcxx  
       1 小时 42 分钟前
    习惯了 shadcn
    Minimx
        23
    Minimx  
    OP
       1 小时 22 分钟前 via iPhone
    @TonyG 我也是抄😎,在 antd 的基础上改的
    CuteGirl
        24
    CuteGirl  
       22 分钟前
    看起来组件还是蛮好看的 收藏了 下一次就用这个试试看
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2957 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 12:22 · PVG 20:22 · LAX 05:22 · JFK 08:22
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.