如何创建组件库-基础实战篇

一、搭建组件库有什么好处?

让设计更高效、开发更迅速、产品体验更一致。很多大厂也做了自己的组件库,比如Ant Design,Element等,一个成熟的组件库确实让产品的体验更好,团队的效率更高。如果你也想开始搭建你们产品自己的组件库,希望本文能帮助到你。

二、什么样的模块可以成为组件?

重复使用,如果一个模块需要重复使用,那么可以认为它是一个组件,比如说Search Bar,Tab等。

三、如何来搭建组件库?

1. 对所有组件进行分类

参考Ant Design的分类方式,如果你们的开发采用Ant组件库的话,这样子的分类方式对开发小哥哥们也很友好。

提前把所有分类理清楚,后续组件的命名过程也会更加清晰。

(最开始自己就是没有理清思路,导致后续很多组件命名不清晰都重新来过,这些都是我含泪为你们踩过的坑啊)

Ant里面都属于基础通用组件,不同产品自身肯定还有更多的组件,这个时候需要自己去根据组件功能判断他们的分类。例如:我们可以参考Ant分为基础的7大类。

 

1.1 Button

可以大致分为3类,如图所示分别是:

TextButton

IconButton

Icon&TextButton

 

1.2 Nav

分类规则:为了给用户提供浏览内容的导航选项,我们都可以将它分为Nav这一类中。

Breadcrumb

Dropdown

SideMenu

Steps

Tab

1.3 DataEntray

分类规则:用户对该组件进行操作,改变或者更新产品内容。

DatePicker

Input

Selecte

Switch

Upload

1.4 DataDisplay

分类规则:该组件仅只有展示功能。

Avatar

Badge

Calendar

Popover

Tag

1.5 Feedback

分类规则:当用户操作后给予用户反馈的组件,主要是一些模态/非模态弹窗。

Alert

Modal

Notification

Popconfirm

1.6 Box

分类规则:组成以上组件的最基础的组件。包括一些线段,阴影,圆角方角卡片等。

Border

Shadow

Dashed

Disable

Lable

1.7 Icon

分类规则:产品中所有的Icon都可以归为此类。

arrow

brand

control

interface

suggested

2. 组件命名

参考Ant Design的命名方式:将自己产品的所有symbol命名。这个过程最好和开发小哥哥共同商量一下,看看他们的命名喜好,后续他们的开发过程也会更轻松,团队的其他成员也会更加方便查找对应的组件。

命名规则:分类/组件名称/等级/大小尺寸/样式/状态

例如Navigation/SideMenu.Item/Main/Large/Text/Default

名词解析:

【分类】:基础分类,第一部分的如何分类已经说过了,包括Nav,Button等

【组件名称】:根据常用的组件名称命名,如果使用组件不常用,根据产品功能命名。当组件名称需求有子名称的时候可以中间使用.分割。例如:SlideMenu.Item

【等级】:通常使用1.Primary 2.Secondary 3.Thirdary等

【大小尺寸】:通常使用1.Default 1.Large 2.Small 等

【状态】:通常使用1.Default 2.Hover 3.Selected 4.Disable 5.Value 6.Danger 等

注:所有命名都使用英文名称,且首字母大写。中文名称对于开发来说没有意义,重新拾起英语的时候到啦

(Ant的命名中,在分类前面有加上编号,是为了让你自己的组件库分类更加清晰,这个看你个人喜好)

在命名这一部分,开发其实只需要看组建名称和状态这两个部分,所以你的命名规范最好也是需要提前和开发小哥哥们一起商量一下的哦。

3. 组件上传

这里推荐Zeplin,是一个国外的软件,也有线上版本,这个软件简直是特别好用,除了要收费和反应有点慢之外,没有缺点。其实如果下载客户端,反应速度也是在可以接受的范围内。Zeplin对于组件的这一部分真的特别友好。

这里奉上链接https://zeplin.io/

下载sketch插件,安装好之后,选择组件,点击Export Selected就可以上传到Zeplin的组件库了。


在设计稿上,如果你的设计稿使用了该组件,设计稿上会显示该组件,并且可以链接到组件库里。如图:


Zeplin的设计规范也可以上传颜色,文字,当你的设计稿中使用了你的规范以外的颜色或者文字,Zeplin会自动提醒你是不是需要把他们加入设计规范当中,这里其实可以帮助设计师走查,是不是设计稿中的颜色或者文字出错了呢,这个功能真的是爱了。


注:Zeplin免费版本一个人只可以建一个项目,只能上传99个组件。

4. 设计走查

在做图的过程中,我们可能会对于不同的页面,使用相同的基础组件,但是不同的布局方式。所以搭建组件库,做设计走差,可以保证设计稿的一致性。

最后

搭建组件库是一个漫长的过程,但是组件库搭建成功后会帮助我们节省很多重复设计产生的工作时间,让我们能够更加专注于产品用户体验。本文只是把个人在搭建组件库中一些经验分享给你们,有什么建议可以互相交流,希望对你们有帮助。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,547评论 6 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,399评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,428评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,599评论 1 274
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,612评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,577评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,941评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,603评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,852评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,605评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,693评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,375评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,955评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,936评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,172评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,970评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,414评论 2 342

推荐阅读更多精彩内容