首页 > 其他分享 >打造独具匠心的UI设计组件库:设计师入门必读!

打造独具匠心的UI设计组件库:设计师入门必读!

时间:2023-07-19 20:23:22浏览次数:42  
标签:调用 元素 独具匠心 原子 UI 必读 组件 设计 页面

今天给大家分享一篇关于组件化设计的总结,希望可以带给大家更多设计思考。  

什么是组件化

⬇⬇⬇点击获取更多设计资源 https://js.design/community?category=design&source=bky&plan=bbqbky772       组建化是构成界面的最基础元素和重复出现控件的集合体,也就是常说的组件库。通过对基础元素和控件的规范命名与排列组合,最终形成一个可快速调用与便捷维护的组件库。组件库能够避免在相同场景下重复造新样式的问题,增强产品统一性。与设计规范文档不同,组件库是项目中庞大的基础元素集合,是保证产品统一性的基础。而设计规范文档是对产品设计的指导规则。

组件库的价值

组件库作为设计系统的一部分,在产品设计过程中可方便设计师对基础元素快速调用与组合,从而搭建出规范化的新功能页面。在产品设计中组件库的价值体现在这三个维度:    

统一性

多人协作时,能够保证在相同场景下的设计元素的高度统一,避免重复造新样式的问题,也能够降低开发人员的时间成本,提升开发效率。而针对不同的业务形态和业务场景可以在组件库的基础上结合业务特性去做差异化设计,从而给用户带来一致体验和品牌感知。

高效性

在产品设计的过程中会有许多页面或模块会使用到相同的元素和组件,此时,通过组件库可以快速调用所需要的设计元素和组件,减少重复设计的时间。通过组件库能够实现修改即更新的快速同步,并且所有应用该设计元素和组件的页面也都会同步得到更新。搭建新页面也能够通过组件库快速完成,从而提升设计师的工作效率。 对于产研来说组件库的存在同样能提升他们的工作效率,产品经理可以通过组件库衍生出来的元件库快速搭建高质量产品原型,减少低效绘制工作。研发人员可以通过对组件库的封装,在产品中全局调用,避免重复开发,提升工作效率。

延续与协同

在业务不断发展的同时,组件库也能够伴随业务的发展不断优化和完善,从而满足业务需求和不同场景下的页面内容支持。并且即使团队有成员离开或者加入,也能够通过已有组件库快速投入正常工作的状态。

原子设计理论

 

什么是原子设计理论

原子理论最早是由国外工程师 Brad Frost 提出的,他从化学元素周期表中得到启发,原子是最小的物体构成部分,原子组合构成分子,分子组合构成有机物。 在2013年 Brad Frost 将这个概念应用在界面设计中,逐步形成了一套设计方法论(原子理论)。在设计领域中原子指的是构成界面的最小颗粒度的组成元素,这种逐层递增组织构建的思路作为构建组件库的理论指导。原子设计是一种思维模式,通过这种理论让设计师对界面的组成结构有更为清晰的认识。   原子理论包含5个层面:原子、分子、组织、模块、页面。    

原子

在界面设计中原子是构成界面的最小颗粒度元素,是不可再分割的最小单位,例如:文字、颜色、图标等等。  

分子

分子由原子排列组合构成,映射在界面设计中表现为常见的UI组件,例如:按钮、微标、复选框等由少量不可拆分的基础元素构成。  

组织

组织是由原子和分子组成的一个相对复杂的集合体,在界面中体现为相对复杂的UI组件,例如:导航栏、标签栏、弹窗等由较多不可拆分的基础元素组成。  

模块

模块是由原子、分子和组织构成,模版可以理解为没有内容填充的产品基础框架图,也就是产品原型图。  

页面

页面是在模版的基础上对已有框架的细节补充与优化,也就是视觉效果设计,最终形成完整的页面。例如:产品首页、二级页面等等。  

以原子理论为支撑的组件库

 

Ant Design

Ant Design 是由蚂蚁集团开发的一个庞大的组件库,强大到已经延展到了设计体系的维度。通过React对Ant Design组件库进行封装,前端可以非常方便的进行组件调用。

TDesgin

TDesgin 是由腾讯出品的企业级组件库,和 Ant Design 一样是一个全面且庞大的设计系统。其中包括Figma、XD、Axure、Sketch及其他平台的组件库资源。支持多种语言的快速调用大大提升了开发工程师的工作效率。

Arco Design

Arco Design 是由字节跳动UED推出的企业级设计系统。同样包含了多种平台的组件库资源,并且支持多种语言的快速调用。更多内容可以去官网查阅。   如何搭建组件库 依据原子设计理论所提供的设计思路,我们可以将构成界面并贯穿始终的最基础元素剥离出来,例如:文字、图标、颜色。这些基础元素在整个设计体系中都会被应用到,是搭建界面的基石。 为了便于后续的组件调用,在组件搭建时要特别注意组件的命名规则,一般以总分的形式对其命名,例如:左侧勾选/选择/禁用,这样就能一目了然的知道组件的状态,并便于后期的维护与调用。   文字样式 首先通过对产品中已经使用或可能使用到的文字样式进行统计,包括字重、行高和字号大小等信息,为了方便后续查看可以将这些信息全部罗列出来。 接下来通过选择需要创建样式的文本图层,点击即时设计右侧面板中的创建样式按钮,并进行重命名,因为一级文字包含2种不同的自重,所以可以利用“/”进行内容细分,例如:“一级文字/加粗”,全部创建好之后在即时设计右侧面板中就可以看到文本样式的列表展示内容了。   颜色样式 颜色样式同上述方式一样,罗列出在产品中使用的颜色,并对其进行分类和命名。   图标控件 图标控件的制作在 Figma 中可以批量生成也可以单独生成,为了让图标在查阅时更加规整,我们可以使用栅格布局对图标进行有序排列,可以按照功能属性排列,也可以按照你喜欢的方式排列。   组件 组件作为基础元素组合的容器,需要适配不同的设计尺寸,以减少复杂又重复的工作量,此时,就需要我们对组件进行自适应布局。   组件库管理 组件库搭建完成后,接下来就是对组件库的维护与团队成员之间的使用,在这个过程中会不断的有新的业务需求产生新的组件和页面,我们可以从产品一致性的符合程度、拓展性和复用率等方面来考量组件是否要加入已有组件库中,以及作为是否剔除已有组件的准则。 最后 通过构建组件库,不仅提升了设计师的工作效率,产研的效率也得到了显著的提升。并且让设计产出有了统一的对外输出标准,也就是上面所说的统一性、高效性、延续与协同。同时设计师也能有更多的精力去专注体验与细节的深耕,实现设计更多的商业价值。        

标签:调用,元素,独具匠心,原子,UI,必读,组件,设计,页面
From: https://www.cnblogs.com/zzbbq/p/17566625.html

相关文章

  • vue项目安装lees-loader报错:Module build failed: Error: Cannot find module 'less'
    1-新搭建的一个项目,运行时报Modulebuildfailed:Error:Cannotfindmodule'less'错误原因:vue文件里面的style添加了 lang="less" 解决方案:安装less  npminstallless2-安装less后运行报错:Modulebuildfailed:TypeError:this.getOptionsisnotafunc......
  • maven build 运行unit test失败 process exit code:134
    环境:JDK:17.0.7Springboot:3.1.0Junit:5问题:运行mvncleaninstall时在maven-surefire-plugin:test阶段失败。TheforkedVMterminatedwithoutprperlysayinggoodbye.VMcrashorSystem.exitcalled?dumpfile中的错误:Corruptedchannelbydirectlywriting......
  • A failure occurred while executing com.android.build.gradle.tasks.PackageAnd
    Afailureoccurredwhileexecutingcom.android.build.gradle.tasks.PackageAnd在Android开发过程中,我们经常会遇到各种各样的错误和异常。其中一个常见的错误是“Afailureoccurredwhileexecutingcom.android.build.gradle.tasks.PackageAnd”。在本篇文章中,我们将讨论这个......
  • @Resource A component required a bean of type 'com.gao.docker.dao.TestMapper
    实现@Resource注解报错解决方法一、问题描述在使用@Resource注解注入依赖时,可能会遇到以下错误:Acomponentrequiredabeanoftype'com.gao.docker.dao.TestMapper'thatcouldnotbefound.这个错误通常发生在使用Spring框架进行依赖注入时,表示无法找到对应类型的bean。......
  • 记一次<!DOCTYPE html>引起的height100%总是屏幕高度,layui弹框top值很大超出屏幕问题
    不管父元素有没有指定高度,只要有height:100%高度就是是九百多,我屏幕的高度或者浏览器可显示区域高度最先是swiper区域控制不了高度一致九百多,后来发现layui的checkboxspan文字高度也是九百多,两个地方均有height100%layuimsg无法显示,查看源代码<divclass="layui-layerlay......
  • vue+element-ui 点击表格某一行,展开内容
    正常情况下,表格中想要展开某一行只能通过点击最前面的小箭头,如果想要实现点击某一行后直接展开,那么首先,就要先了解这几个属性:row-key的值只能是表格中某一列的key,而expand-row-keys数组里保存的则是所有展开行的row-key值,假如设置row-key=“id”,那么expand-row-keys数组......
  • huilder 无法调试微信小程序方法
    huilder无法调试微信小程序方法 npxbrowserslist@latest--update-db​14:20:29.948项目'test11'编译成功。前端运行日志,请另行在小程序开发工具的控制台查看。14:20:29.953正在启动微信开发者工具...14:20:30.328[微信小程序开发者工具]-initialize14:20:30.330[微......
  • element-ui pagination分页组件 点击一次页面跳转触发两次current-change请求
    在项目中使用element编写前端页面时,发现在使用pagination分页组件的时候,出现一个坑。情况是每一次点击页面切换,都会重复触发两次页面切换current-change事件。无论是点击后面的页码或者是下一页或者是跳转到某个页面都会触发两次。第一次正常触发,第二次触发后会返回首页。经过多......
  • 【实战技能】基于硬件垂直消隐的多缓冲技术在LVGL, emWin,GUIX和TouchGFX应用,含视频教
    原贴地址:https://www.armbbs.cn/forum.php?mod=viewthread&tid=120114这两天研究了下LVGL的持单缓冲,双缓冲和配合硬件消隐的双缓冲的实现(已经分享V5,V6和V7开发板的程序模板),特别是这个整屏缓冲方案,这几款GUI的实现基本是一样的,所以专门开了一期视频做个分享。视频:https://www.b......
  • 数据迁移卷不动了?Squids DBMotion新增多种数据库迁移能力
    又双叒叕,丝滑的零停机数据库在线迁移工具SquidsDBMotion再发新版!SqudisDBMotion新增了多种数据库的迁移能力:SQLServertoSQLServer、RedistoRedis、MySQLtoKafka,增加了列映射、校验任务独立、抽样校验、校验复检和限速等十多项功能。本次版本更新,DBMotion新增了三种数据库迁......