当前位置: 首页 > 科技观察

为什么本该提升效率的组件库,最后却成了效率杀手?

时间:2023-03-12 21:05:48 科技观察

作为年中评委,参与了公司设计频道的晋级评审。听取了10位同学的工作汇报和个人总结。不出所料,每个学生的报告都或多或少涉及“设计规范”或“组件库”这样的模块。本以为静下心来听完就完事了,却忍不住问了一位同学:“你们平时都是怎么使用组件库来协作的?”具体答案记不清了,我翻译一下吧,大致意思就是他会约束几个元素,比如按钮/圆角/字体大小规范设计稿,其他的可以根据需要自由使用。很明显,这个回答我是不付费的,但是却引出了关于组件库的几个问题和思考:设计管理是一门科学(对设计工作的管理,不是对人的管理),在一定程度上,细节不影响总体来说,就像地球人分为白种人/黄种人/黑人一样。虽然每个白种人长得都不一样,但在亚洲的任何国家,您都可以立即将他们区分开来。不同种族,以肤色(品牌色)、体型(体型)、发型/手饰是否统一为特征。不要拿了芝麻丢了西瓜。大多数同学都有一种患得患失的心理,认为准备足够的成分就可以应对所有的问题。就像乐高积木零件一样,它们可以快速组装以完成各种需求,同时确保一致性。但理想终归是理想。试想一下,在家里,你是不是把各种看似有用但没用的东西堆在一起以备不时之需?以我自己为例,家里的购物袋都堆在一个柜子里。我把这些袋子规划成两种,一种是装垃圾,一种是出去装点杂物。结局和你想的一样,购物袋占了我家2平米,也就是说我用一个10w的体积装了不到20块钱的垃圾。。。这件事让我明白了一个道理,具有再生或可持续发展能力的事物或事物不要流连忘返。毕竟,它不是稀有资源。真的没必要囤。该清理的时候就该清理。组件库也是如此。进入正题前,再说一下基本规格。UI设计的本质无非就是信息的排列。只要把“信息”和“排列”想清楚,整个UI的规则就可以清晰很多。所以尽量拆解这两个关键词:信息不用废话,重点在排列上的间距。间距的设置往往是其余部分的引入。大问题总是由小事积累起来的。治标不治本,如下图所示:通常的间距是线性增长的,遵循NX的公式(N是最小单位)。坦白说,线性增长的方式有点像温水煮青蛙。递进的元素太少了,给人一种加一就是加一的感觉,让人觉得无所谓。打消这种想法的方法是用指数增长代替线性增长,合理控制距离的梯度,在一定程度上控制过剩。此外,我们还需要利用好设计令牌(designcode/key)来帮助我们管理元素。这个概念是Salesforce在2014年提出的,Token已经成为很多设计系统中不可或缺的一部分。常见的方式是根据衣号进行编码,通过“S”、“L”、“M”的编码赋予界面气息感。同理,其他小微组件也可以通过编码进行管理。不用担心不够,毕竟这些尺码满足了全球70亿人的着装需求。你的距离能超过70亿人吗?现在基础知识已经完成,让我们进入正题。如果你也遇到了上述类似的问题,可以用挑剔的眼光看一下组件库。我建议从以下两个方面重新思考:1.增加仓库类型,加强临时仓库像AntDesign/Salesforce这样的重量级组件库一般都是开放通用的组件,不一定完全贴合我们自己的业务,所以组件库的分类是坚实的基础。区分这三种类型非常简单。只要你玩过王者荣耀,你就很容易明白:这张图不用我再解释哈哈哈哈,我们重点说一下临时组件的分类。情境的响应策略是一个定制化的组件,只针对你当前遇到的场景,不一定可以复用。因此,虽然这种元器件的价值不低,但恰恰是元器件库的癌细胞。特殊场景永远不会少。会影响到整个组件库的迭代升级。放到临时类里,有需求再调用也是一种方式。2.封装工作流,降低操作精度。如果组件的粒度太细,运算的精度会无限提高。在提高效率的同时,也会降低效率。不如更进一步,把封装好的组件变成封装好的工作流(workflow)从另一个角度来看,UI设计组件是从交互设计的思想做的。这种方式将极大地解放生产力,尤其是在针对多终端设备进行设计时。真正一键适配iOS/android/小程序/H5等。上图为登录示例。同样的流程封装可以用于电商应用的“账户管理”、“地址管理”、“城市选择”/社交应用的“评论回复”等场景。这块推荐体验苹果的“捷径”。工作流有着悠久的历史。您可以使用此应用程序再次了解终极生产力。封装工作流的做法也是避免微观管理的措施之一。如果观点过于细化,容易失去重心,急于拼搏每一个细节,稍微宏观的东西反而被搁置。总结丘吉尔曾经说过的话,“改变就是改进”,“要完美就是经常改变”。如果我们过于严格地贯彻“一个就是另一个”,可能会带来更多的麻烦,甚至让我们停止创新。组件库也是如此。如果自定义组件没有类别,则无需强制将其分为通用或业务。也是一种方法,把它分离出来,让需求来证明它的价值。