设计系统创建
概览
设计系统是一套结构化的组件、指南和原则,确保一致性、加速开发并提高产品质量。
何时使用
- 多个产品界面或团队
- 扩展设计一致性
- 减少冗余组件开发
- 提高设计到开发的交接
- 创建跨团队的共享语言
- 构建可复用组件
- 记录设计标准
指南
1. 设计系统组件
设计系统结构:
基础层:
排版:
- 字型(Roboto, Inter)
- 字号(比例:12, 14, 16, 20, 28, 36, 48)
- 字重(Regular, Medium, Bold)
- 行高和字间距
颜色:
- 主品牌色(#2196F3)
- 辅助色
- 中性色板(灰色)
- 语义颜色(成功,错误,警告)
- 暗色模式变体
间距:
- 基础单位:4px
- 比例:4, 8, 12, 16, 24, 32, 48, 64px
- 在UI中一致应用
阴影与高度:
- 高度0(平面)
- 高度1, 2, 4, 8, 16(深度递增)
- 用于模态框、卡片、覆盖层
---
组件层:
基础组件:
- 按钮(主要,次要,轮廓,禁用状态)
- 输入字段(文本,密码,数字,电子邮件)
- 下拉/选择
- 复选框 & 单选按钮
- 切换开关
- 文本区域
表单组件:
- 表单组(标签 + 输入 + 错误)
- 错误消息
- 帮助文本
- 必填指标
- 验证状态
导航:
- 面包屑
- 标签页
- 导航抽屉
- 分页
- 步骤器
反馈:
- 吐司通知
- 模态对话框
- 警告
- 加载指示器
- 进度条
数据展示:
- 表格
- 列表
- 卡片
- 徽章
- 芯片
---
模式层:
布局模式:
- 主布局(头部 + 导航 + 内容 + 底部)
- 两栏(主 + 侧边栏)
- 表单布局
- 网格布局
内容模式:
- 空状态
- 加载状态
- 错误状态
- 确认对话框
- 上手流程
交互模式:
- 悬停状态
- 焦点状态
- 禁用状态
- 过渡/动画
- 键盘导航
2. 组件文档
# 详细记录每个组件
class ComponentDocumentation:
def create_component_doc(self, component):
"""记录完整组件"""
return {
'name': component.name,
'description': component.description,
'usage': component.when_to_use,
'anatomy': {
'elements': component.sub_elements,
'diagram': '带标签显示'
},
'properties': {
'size': ['Small', 'Medium', 'Large'],
'variant': component.variants,
'state': ['Default', 'Hover', 'Focus', 'Disabled'],
'disabled': True/False,
'required': True/False
},
'code_examples': [
'React示例',
'CSS示例',
'HTML示例'
],
'accessibility': {
'aria_roles': component.aria_roles,
'keyboard_support': component.keyboard_behavior,
'sr_text': component.sr_text
},
'do_dont': {
'do': ['指南1', '指南2'],
'dont': ['指南1', '指南2']
}
}
def create_live_component_library(self):
"""构建交互式组件展示"""
return {
'tool': 'Storybook / Zeroheight',
'features': [
'实时组件预览',
'交互式控件',
'代码示例',
'文档',
'版本历史'
],
'coverage': '所有组件及其变体'
}
3. 设计系统治理
设计系统治理:
所有权:
所有者:设计系统负责人
委员会:1名设计师,1名开发者,1名产品经理
审查频率:双周
审批流程:需要委员会批准
组件生命周期:
提议中:
- 由团队提交
- 审核是否重复
- 评估范围
审查中:
- 设计审查
- 可访问性审计
- 开发者实施审查
- 1-2周审查期
已批准:
- 在系统中记录
- 可在组件库中使用
- Semver版本升级
- 通知团队
已弃用:
- 迁移的明确时间表
- 提供更新的组件
- 支持期限:2个大版本
已退役:
- 从库中移除
- 历史文档归档
---
贡献指南:
添加组件:
1. 检查现有组件
2. 提交RFC(征求意见)
3. 参加设计审查
4. 按标准实施
5. 获得委员会批准
6. 在库中记录
7. 在新版本中发布
标准:
- 可访问性(WCAG 2.1 AA最低)
- 移动优先响应式设计
- 暗色模式支持
- 国际化(i18n)
- 性能(<100kb添加到捆绑包)
4. 设计系统文档
文档结构:
入门:
- 什么是设计系统?
- 如何在您的项目中使用
- 安装说明
- 快速入门指南
基础:
- 色彩系统
- 排版比例
- 间距/网格系统
- 图标
- 可访问性标准
组件:
- [详细组件文档]
模式:
- 常见布局
- 内容模式
- 交互模式
- 表单模式
指南:
- 声音和语调
- 图像和摄影
- 品牌身份
- 复制指南
用例:
- 真实世界的例子
- 案例研究
- 操作和不操作
更新:
- 发布说明
- 迁移指南
- 路线图
- 贡献过程
最佳实践
✅ 执行
- 从基本组件开始
- 详细记录每个组件
- 包括代码示例
- 在浏览器中测试组件
- 包括可访问性指导
- 版本化设计系统
- 有明确的治理
- 主动沟通更新
- 从用户那里收集反馈
- 逐步维护
❌ 不要
- 最初创建太多组件
- 跳过文档
- 忽略可访问性
- 在没有迁移路径的情况下进行破坏性更改
- 允许不一致的实现
- 忽略用户反馈
- 让设计系统停滞不前
- 没有经过验证的需求创建组件
- 使组件过于规定性
- 忽略性能影响
设计系统提示
- 从颜色、排版、间距开始
- 首先构建最常用的组件
- 使用Storybook或类似工具进行文档记录
- 使用语义化版本控制
- 建立清晰的贡献流程