最近团队尝试使用Figma构建一套适用团的组件库与规范,发Figma比Sketch的构建方式简单灵活,尤其自动布局(Auto Layout)联级嵌套能极提升组件库的设灵活度;另外Figma插件库日新月异,能够效提升组件库构建过程中的效率。本文主分享了我们团队创建组件库中的一些验方法。
首先我们确定组件库框架包含哪内容,里主要针对ToB端的业务场来进行演示。
B端业务组件库框架内相比C端产品的复杂且难以手,除了对产品业务的理解掌握之外,组件库到底哪些内?针对我们团队所接触的B端业务场景行需求整体、分析、调研并抽象出具体的组件库框架:
- 主题式
- 基础组件
- 框架模式
- 拓展控件
- 通模
- 规范映射表
可根据项目务或产场景需求对框架容进行调整。
以下内容会按照构建顺序进行拆解
1. 颜色
首先是颜色样创,颜色常会含主题(品)色,性色或者辅助色,在Figma我们唯需要做是这些颜色进命名管理;创第个颜色样后过在文件标题下菜单进首样发布,发布成功即可在其他Figma文件引用。
△ 颜色创阶度可以借助 Material Design Color tool 工具来辅助生成
2. 体
Figma体样与Sketch创不,Figma需要关注号与即可,而过去在Sketch除了号、创以需体齐进创,这样会增加样库管理维护成本,时也增加了使用难度。
在Figma我们需关注组件库需要用到号以及少量,这里议样创要克制,尽可能保证样库精简适用。号我们采用 12px-64px,使用了Regular和Bold两。
择一款字体(推荐思源黑体),字体需要考虑团队协作中存在同终端的适配问题,如果使苹方则Win系统中会现字体丢失的情况,中字体的使插件 Chinese Font Picker 。
3. 图标
图标在之前的组件库搭建中存在两种嵌套方式,第一种是目前推荐的直接使Svg的方式,通过导入Svg图标进行并创建成组件进行管使,输则择性输即可。第二种是将图标库编译成一个字体包,通过字体的方式引和管,字体图标的应方式依然在许多B端系统上可见,过存在浏览器版本和兼容性问题,字体图标是当时最好的择;缺点是维护成本较,图标字体包无法择性引,字体包的大小会影响页面载性。
4. 图标批量创与管理
在Figma我们可以很轻松去创个图标库,益于Figma支持批量创Component,批量创完以后我们再过插件来实现图标组件批量命名。Rename It(命名插件)Find & Focus(批量查找插件)
5. 阴影
阴影样式的创建相对简单,设置阴影参数与对应命名并逐个创建即。
6. 圆角
组件库中常用到圆角,圆角属于组件库中的一种样式变,圆角很强的风格属性,因此过去我们会对圆角行单独理以方便后对组件库中的圆角行全局理,Figma中圆角单独的样式理属性,只需对圆角行规范义即可。圆角组件库中存多种属性状态,例如按钮组中就存左右结构的半圆角属性,应该组件库的创建过程中就提考虑并约束。
7. 间距
在Figma中间距需要组件化(Component),动布局(Auto Layout)可以算Figma组件化中的杀锏,通过简的属性置就可以实现动布局效果;在间距创建中需要对横向(X轴)以及竖向(Y轴)别进行创建并以不同的式来,当然所有的间距都是通过母版(Master Component)进行复制创建的,这可以通过母版来对全局的间距进行式管控。
间距的数值定可根据计规范进行调整,采用了4px-256px的倍数间,可以适应大部业景。
1. 规范映射表
为什么需要规范映射表?组件库样、组件、组件状态到定数量难以维护,设计与开发接成本会显著增高;如我们过个映射表来应组件库样和组件,提取组件库变量并设定映射名称,减少样或组件本身依赖性,而是过改映射参数来实现组件库变更。
映射表中需要对样式中的颜色、字体、圆角、阴影、间距等样式进行映射联,这些变量在开发过程中可通过代码进行联与 Figma中的组件库联是一致的。
1. 按钮
我们通对按钮组件的构建进行剖析基能够掌握组件构建的基原理,其他组件的构建方式基无异,只存在嵌套级的少差异。
在构组件前我们可以学习 Atomic Design (原子设计)能帮助你深入了解构原理。
组件库的构建方式全可采原子设计论构建:
Brad Forst(计作者) 将此理论运用在界面计中,形成一套计系统,包含5个层面:、、组织、模板、页面。
组件库搭建中,原子属于小颗粒度单,例如:任一形状、文字、颜色、图标。
今年很火的原子设计理论,帮你做了一份全面的精华总结!
阅读文章
组件搭建除了需要掌握其构成理之外还需要了解每一个组件的类型、状、规格等息,这些将是组件库的核心内容。
以按钮为例,在ToB侧Web端业系统中常用三种尺寸规格(24px、32px、40px),常用状包含:Normal、Hover、Focused、Pressed、Disabled;按钮还拥有多个不同类型例如:Primary、Outline、Dashed、Danger,当一个组件存在多种形味着组件的复杂程度提升,维护成本增加。
通过之前的组件库构建经验来,不同形的相同组件的结构一致,只存在式差异,而Figma刚好足这一需求,在相同的母版(Master Component)下的件可以独置式并不会响母版之前的关(Sketch无法让件母版存在式差异)。
我们创建一涵盖所按钮形态的母版,通过拷副件并对副件行样式变形新的按钮状态,选中已变样式的副件创建新的组件(Component),这样就实了组件分级嵌套效果。
△ 组件分级嵌套效果演示
组件分级嵌套以帮助我们更加灵活的管理组件库,上图Master A为组件母版,而A1、A2、A3从母版拷贝而来(副件),对副件进行样式修改创建为新的组件并拷贝至A1_1、A1_2、A1_3,样就现A 管控 所有A的副件,而A1以单独对A1_1进行管控而不影响其他副件。
1. 卡片
卡片属于拓展控件可以对应 Atomic Design 中(原子、分子、组织、模板、页面)里的「组织」,「组织」通过原子或分子组合构。
相比按钮,卡片搭建过程中使用了间距;布局单一的按钮只需通过自动布局(Auto Layout)就可以满足,灵活多变的卡片则需通过间距配合自动布局实终效果。
复合组件中需满足模块替换的灵活性,我们通过给组件划分不同模块,模块中的内可以自由制。
△ 卡片组件的分解图
通分图我们以需要替换的模块必须为组件态(Component)且尺寸一致,满条件只需选中该模块右属面板进行替换即。
1. 页面布局/栅格
Figma中的布局网格(Layout Grid)只针对画布效,因此创建栅格布局需选中一效画布,右侧属性面板可以选择列(Columns)行(Rows)或格(Grid)新建,设置好布局网格画布里面的元素靠近网格线时会吸效果可以辅设的准确性。
2. 页面结构
左右结构在ToB业景比较常见,类似的页面结构只需要把左侧的菜和头部创建独的组件模块即可。
通过组件嵌套可以轻管理一套组件库套颜色模式(浅色版深色版)
1. 概览&Dashboard
过原子、分子、组织构模板,而模板组合能形成各场景页。
过自动布局(Auto Layout)我们可以较为复杂表格组件进合理管控,例如新增删除都能按照既定距进自动拓展。
同时通过组件嵌套实现表头带表容进行联,极大的了在复杂场景的设计效率。
组件库意义在于能够立设计约束,保证设计致性;更要是能够为品/团队规范设计输出,提升设计效率。
组件库的搭建需要因地制宜,根据产或团队需求构建,保持组件库轻量效是我们的目标;一切够升设计效率的可性都应该值得尝试。
欢迎关注作者公众号:「AsiaInfo Design」