Arco Design Vue logo

Arco Design Vue

字节跳动企业级产品设计系统的 Vue 3 组件库实现

Vue企业级组件库字节跳动中后台

Arco Design Vue 是字节跳动 UED 团队推出的企业级 Vue 3 组件库,提供 60+ 组件,完整 TypeScript 支持,基于 Composition API 构建,支持主题定制和国际化。

Arco Design Vue

字节跳动企业级产品设计系统的 Vue 3 组件库实现

基本信息

项目信息
项目名称Arco Design Vue
npm 包名@arco-design/web-vue
GitHub 仓库arco-design/arco-design-vue

| TypeScript 支持 | ✅ 完整支持 | | 官方文档 | arco.design/vue |

项目背景

字节跳动设计体系

Arco Design 是字节跳动 UED 平台产品团队推出的企业级产品设计系统,服务于字节跳动旗下众多中后台产品。设计语言以 "务实的浪漫主义" 为核心理念,强调:

  • 效率优先:为开发者提供开箱即用的高质量组件
  • 一致性:统一的设计语言和交互模式
  • 可扩展性:灵活的主题定制和配置能力
  • 企业级:满足复杂业务场景的需求

发展历程

  • 2021 年:Arco Design 正式开源,同时发布 React 和 Vue 3 版本
  • 2022-2023 年:快速迭代,组件数量和功能持续扩充
  • 2024 年:进入维护阶段,更新频率明显降低
  • 2025 年至今:社区反映项目进入"停摆"状态,Issue 和 PR 大量积压

核心特性

1. 完整的组件体系

Arco Design Vue 提供 60+ 组件,覆盖中后台开发的常见需求:

基础组件

  • Button、Input、Checkbox、Radio、Switch
  • Form、Select、DatePicker、TimePicker
  • Upload、Transfer、Cascader、TreeSelect

数据展示

  • Table、Tree、Collapse、Carousel
  • Timeline、Avatar、Badge、Calendar
  • Descriptions、Statistic、Empty

反馈组件

  • Modal、Drawer、Message、Notification
  • Popconfirm、Tooltip、Progress、Result
  • Spin、Skeleton

导航组件

  • Menu、Tabs、Breadcrumb、Pagination
  • Steps、Dropdown、PageHeader

业务组件

  • ProTable(高级表格)
  • ProForm(高级表单)
  • Chart(图表组件,基于 G2Plot)

2. TypeScript 优先

  • 所有组件均提供完整的 TypeScript 类型定义
  • 支持智能提示和类型检查
  • 与 Vue 3 的 Composition API 完美集成

3. 主题定制

CSS 变量方案

import '@arco-design/web-vue/dist/arco.css'
 
// 通过 CSS 变量自定义主题
:root {
  --primary-6: #165DFF;
  --border-radius-small: 2px;
}

主题生成器

  • 提供在线 主题配置工具
  • 支持品牌色、圆角、字号等维度的定制
  • 一键生成主题包并导出

暗黑模式

  • 内置暗黑模式支持
  • 通过 CSS 变量自动切换
  • 无需额外代码适配

4. 国际化支持

  • 内置 60+ 语言包
  • 支持按需引入语言配置
  • 提供自定义语言扩展能力
import { ConfigProvider } from '@arco-design/web-vue'
import zhCN from '@arco-design/web-vue/es/locale/lang/zh-cn'
 
<ConfigProvider :locale="zhCN">
  <App />
</ConfigProvider>

5. 图标系统

  • 提供 300+ 高质量图标
  • 支持 SVG 图标按需加载
  • 提供 IconBox 图标平台(⚠️ 该服务近期不稳定)

技术亮点

1. Vue 3 Composition API

所有组件基于 Vue 3 Composition API 重构,提供:

  • 更好的 TypeScript 类型推导
  • 更灵活的组件组合能力
  • 更小的打包体积(支持 Tree Shaking)

2. 性能优化

  • 按需加载:支持自动按需引入(配合 unplugin-vue-components)
  • Tree Shaking:未使用的组件代码会被自动移除
  • 虚拟滚动:Table、Select、Tree 等大数据组件支持虚拟滚动
// 自动按需引入配置(vite.config.ts)
import Components from 'unplugin-vue-components/vite'
import { ArcoResolver } from 'unplugin-vue-components/resolvers'
 
export default {
  plugins: [
    Components({
      resolvers: [ArcoResolver()]
    })
  ]
}

3. 设计语言一致性

  • 与 React 版本共享设计规范
  • 提供 Figma 设计资源(Arco Design System
  • 设计与代码组件一一对应

4. 丰富的配套工具

  • Arco Design Pro:企业中后台模板
  • Arco CLI:项目脚手架和工具链
  • Arco Material:物料市场(模板、区块、组件)

生态集成

1. Arco Design Pro

  • 仓库arco-design/arco-design-pro-vue
  • 特性
    • 内置权限管理、路由配置
    • 提供多种页面模板
    • 支持多语言和主题定制
    • 基于 Vue 3 + TypeScript + Vite

2. 框架集成

Nuxt 3

  • 官方提供 arco-design-nuxt-module
  • 2.44.3 版本起支持 Nuxt 3 的 exports 配置

Vite

  • 完美支持 Vite 构建
  • 提供自动按需引入插件

Vue DevTools

  • 支持 Vue DevTools 组件检查

3. 第三方资源

  • Arco Design Vue Snippets:VSCode 代码片段插件
  • 社区模板:多个开源后台管理系统模板
  • Awesome Arco社区资源合集

适用场景

✅ 推荐使用

场景说明
企业中后台系统组件丰富,设计规范完善
快速原型开发提供 Pro 模板和物料市场
需要设计一致性提供完整的 Figma 设计资源
Vue 3 + TypeScript 项目类型定义完整
多语言项目内置 60+ 语言包

⚠️ 谨慎考虑

场景说明
长期维护的核心项目项目已进入停摆状态,未来更新不确定
需要持续新功能新功能开发基本停止
对响应速度要求高Issue 和 PR 处理缓慢
需要社区支持社区活跃度下降,资源逐渐减少

❌ 不推荐使用

  • 需要长期稳定维护的核心业务系统
  • 对组件库更新和 Bug 修复有强依赖的项目
  • 2025 年后启动的新项目(建议选择 Element Plus 或 Ant Design Vue)

学习资源

官方资源

社区资源

视频教程

  • B 站搜索 "Arco Design Vue" 可找到相关教程
  • 官方示例和 Demo 演示

2025-2026 年现状

⚠️ 项目维护状态

根据社区反馈和多篇技术文章分析,Arco Design Vue 在 2025 年已进入实质性停摆状态

停摆表现

  1. 代码更新停滞

    • 最近的提交主要集中在构建工具迁移(如迁移到 pnpm)
    • 核心组件的新功能开发基本停止
    • Bug 修复响应缓慢
  2. Issue 和 PR 积压

    • 截至 2025 年底,GitHub 积压 800+ 个 Issue
    • 大量 PR 长期无人审核
    • 官方团队维护活动几乎归零
  3. 基础设施服务不稳定

    • IconBox 图标平台频繁宕机
    • 文档站点偶有访问问题
  4. 无官方声明

    • 字节跳动未发布正式的停止维护声明
    • 但实际已处于"停止供血"状态

深层原因

根据社区分析,停摆的主要原因包括:

  1. 组织架构调整:字节跳动内部赛马机制导致资源重新分配
  2. Semi Design 胜出:Semi Design 背靠抖音等核心业务,内部优先级更高
  3. 开源项目边缘化:Arco 在内部资源竞争中处于劣势,成为"组织变革的牺牲品"

社区影响

  • 用户流失:部分用户开始迁移到 Element Plus 或 Ant Design Vue
  • 社区活跃度下降:Discussions 和 Issue 的官方回应减少
  • 替代方案讨论:多篇技术文章讨论 Arco 的替代方案

迁移建议

如果你正在使用 Arco Design Vue,建议:

  1. 评估项目风险:考虑组件库停止更新对项目的长期影响
  2. 制定迁移计划
    • 优先迁移新启动的项目
    • 现有项目可暂时维持,但需做好降级方案
  3. 替代方案选择
    • Element Plus:Vue 生态中维护最活跃,社区支持最好
    • Ant Design Vue:功能丰富,但维护频率也有争议
    • Naive UI:TypeScript 友好,更新活跃

对比竞品

特性Arco Design VueElement PlusAnt Design VueNaive UI
GitHub Stars~3.1k~25k~20k~16k
组件数量60+70+60+80+
维护状态⚠️ 停摆✅ 活跃✅ 活跃✅ 活跃
TypeScript✅ 完整✅ 完整✅ 完整✅ 优秀
主题定制✅ 强大✅ 强大✅ 强大✅ 灵活
文档质量⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐
社区活跃度⚠️ 下降⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐
企业背书字节跳动饿了么蚂蚁集团个人维护

总结

优势

  • ✅ 字节跳动设计体系,设计规范专业
  • ✅ 组件丰富,覆盖中后台常见场景
  • ✅ TypeScript 类型定义完整
  • ✅ 主题定制能力强
  • ✅ 提供完整的 Figma 设计资源
  • ✅ MIT 开源协议,可商用

劣势

  • ❌ 项目已进入停摆状态,未来更新不确定
  • ❌ Issue 和 PR 处理缓慢
  • ❌ 社区活跃度下降
  • ❌ 部分基础设施服务不稳定
  • ❌ 长期维护风险高

建议

2025 年后启动的新项目:不建议选择 Arco Design Vue,优先考虑 Element Plus 或 Ant Design Vue。

现有项目

  • 短期可继续使用,但需关注维护状态
  • 长期建议制定迁移计划,降低技术债务风险
  • 新功能开发可考虑逐步迁移到维护更活跃的组件库

历史项目

  • 作为学习和参考项目仍有价值
  • 设计理念和组件实现值得借鉴
  • 但不建议作为新项目的基础

参考链接