• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com专业计算机教程网站
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure
您的位置:首页 > 网页设计 >心得技巧 > 实用全面!教你用Sketch Libraries构建组件库/设计体系

实用全面!教你用Sketch Libraries构建组件库/设计体系

作者:C7210 (译者) 字体:[增加 减小] 来源:互联网 时间:2018-08-23

本文主要包含C7210,sketch插件,sketch教程,经验分享,设计体系等相关知识,C7210 (译者)希望在学习及工作中可以帮助到您

@C7210?: 本期是一篇很长的译文,Using Sketch Libraries to build better design systems,从理论方法到实践演示,一应俱全。

看完本文你会学到:

  1. 如何解决Symbols同步共用问题?
  2. 使用Sketch Libraries创建组件库
  3. ?对核心Libraries中的元素进行更新

另外说,Sketch 48 Beta已经开始提供Colors Management方面的功能,又是一次体系化角度的重要更新。

注意:Libraries功能仅在最新的Sketch 47当中提供。

所谓设计,就是在一系列约束条件下构建解决方案的过程。——Adam Morse

从某种程度上讲,设计体系便是这样的一种约束。诸如配色、图标、按钮等一系列设计语言要素共同构成了标准化的体系,为设计决策提供着指引。

遵从于这样的标准化体系,设计流程能够得到有效加速;同时,设计模式的复用性与一致性也将得到提升,产品设计方案整体更具扩展性,更易于维护。

然而在现实当中,创建和维护标准化设计体系的方式却多种多样。Sketch是我们在设计工作当中的利器,可以帮助我们简化设计体系的创建流程,但其自身在各方面存在的问题也是无法忽视的。

问题所在

在Sketch 47为我们带来Libraries之前,Symbols一直是Sketch当中最为重要的功能之一,同时也是构建设计体系的关键能力。Symbols用于创建可复用的界面元素,有助于维护设计方案的一致性。然而一直以来,这一机制的作用范围仅限于文档内部,除非借助第三方插件的帮助,否则Symbols无法在不同的文件之间保持同步。

这为什么是问题?

对于小项目来说,这没什么大不了。你可以将全部设计方案,甚至包括高保真原型、流程图一类都塞到一个文件当中,Sketch处理起来也不会产生什么问题。

然而,情况会随着项目规模的扩大而有所不同。出于性能效率或协作方面的考虑,我们通常需要将项目打散到不同的Sketch文件当中;这时,Symbols同步共用方面的问题就会暴露出来。

我们的团队有三个产品用到了同一套Symbols,这里的挑战就在于如何确保Symbols在不同项目之间的同步性。这三个产品都是很大的项目,各自的源文件都包含上百个画板(Artboard),因此难以通过单一Sketch文件来承载,否则文件将变得非常庞大。

△ 一个Sketch文件承载了整个组件库

从前的处理方式

我们曾经使用一套Sketch模板来集中放置所有的Symbols,这种方式参考了原型制作工具Marvel官方的设计规范创建方法。在此基础上,我们进行了一定程度的扩展,例如在不同的Sketch文件当中通过Craft插件统一调用Symbols模板文件。

△ 使用Craft插件构建组件库

事实上,我个人并不推荐这种方式。文件尺寸的确得到了控制,Symbols的来源也得到了统一。但问题在于,一旦模板当中的Symbols发生变化,对于那些已经插入到不同文档当中的Symbols,我们无法进行同步性的更新。

Symbols功能的本质目标是使项目更易于创造和维护。然而,强大的复用能力只是其中的一个方面;对于那些已经被插入到不同文档当中的Symbols,你根本无法进行统一管理与更新。

幸运的是,Sketch 47为我们带来了Libraries功能。

解决方案

Libraries功能可以帮助我们创建独立的、能够被多个文件统一调用的Symbols库。这种机制已经有些类似于前端开发者们所熟悉的Sass了。不仅如此,你还可以对Libraries进行嵌套。

大体上讲,如今你可以将不同类型的Symbols分别存放在不同的Sketch文件当中各自作为独立的Library,譬如配色定义、图标、按钮、表单元素等等;其他项目文件则可以统一调用这些源文件当中的Symbols。当你修改了Libraries源文件,相关的变化也会同步更新到所有的项目文件当中。

这种统一管理和调用的机制可以为工作带来诸多益处,包括:

  • 减小文件尺寸
  • 增强Sketch的性能表现
  • 提升界面元素的统一性
  • 提升项目整体的可维护性

Sketch官方团队是这样诠释Libraries功能的:

一个Library本质上就是一个普通的Sketch文件,其中的Symbols可以被其他Sketch文件调用。如果你编辑了Library当中的Symbols,那么调用了该Library的其他Sketch文件便会收到更新通知,你可以对变更进行预览、对比和确认,使这些Sketch文件所调用的Symbols自动更新至最新版本。→ ?Sketch 47 Libraries功能图文详解

使用Sketch Libraries创建组件库

在本文接下来的部分当中,我将展示如何使用Sketch Libraries功能创建UI组件库。不过在此之前,我们还需要明确一些思路与原则。

像开发人员一样思考

打造设计体系的过程中,设计师们要试着像开发人员一样思考。——D.R.Y – Don’t repeat yourself

组件库的基本概念就是逐层创建可复用的UI元素,保持文件的轻量化以及设计方案的一致性。

从“原始元素”入手

我们所创建的任何一个组件都是由若干“属性”组成的。这些属性就是设计体系当中最为「原始化」的元素。开发人员会在代码当中为这些属性创造各自的变量,以提升代码的复用性;对于设计师来说也是同理,我们可以为各种原始化UI元素创建Libraries,以便逐层构筑更高级别的组件。

原子化设计理论

为了确保组件库的扩展性,我将Brad Frost提出的原子化设计理论作为指导。这套理论简单易行,很容易理解。

简而言之,原子化设计的灵感来自于现实世界当中的分子结构。UI当中颗粒度最小的元素,即「原子」,组成了颗粒度较大的控件,即「分子」;而诸多分子又组成了更加复杂的组件与模块,即「有机体」。

将不同类型的Symbols放在各自的Library文件中

当然,如果你愿意,你仍然可以将所有组件都放置在同一个Library文件当中;而我的建议则是为每种类型的Symbols各自创建一个独立的Library文档。

类似于开发人员使用Sass partials的方式,调用多个Libraries文档可以使我们的设计体系更为优雅,更易维护。经过合理拆分的Libraries文档将更有利于被不同的项目调用;在需要的时候,也可以更加方便地进行扩展。

参照「原始元素」的思路,我们将从最为基础和核心的UI元素入手,包括颜色、图标等等,这些元素将在整个设计体系范围内被使用到;所有「原子、分子、有机体」级别的UI元素也正是由这些原始元素所构成的。

我们首先要对全局所用到的各类颜色进行定义。

第一步:创建新的Sketch文档,用于颜色定义

对于团队项目,我会在Sketch文件名当中统一添加「AIN」作为前缀,例如「AIN-Colors」等等,以便与其他项目进行区分。当然,命名方式和习惯因人而异,如果你和我一样需要处理很多不同的项目,通过前缀进行区分的方式或许值得考虑。

我会为设计体系当中的每一种颜色生成一个Shared Style,并按照不同的作用进行分类,包括「brand、greyscale、UI」等等;具体的分类方式就是在Shared Style命名当中通过「/」符号表示层级结构,Sketch会识别到该符号,并自动生成相应的架构。

接下来,我会为每一种颜色制作一个Symbol,并使用Symbol Organizer插件在Symbols页面当中对它们进行组织 – 在层级化命名方式的辅助下,Symbols页面将自动呈现出清晰的架构体系。

第二步:将颜色定义文档添加到Libraries体系

完成了颜色定义之后,我们需要将这份Sketch文档添加到Libraries体系当中。设计体系当中所有原子级元素的定义都需要这一步骤。

在顶部菜单栏选择「Sketch ? Preferences」,然后进入「Libraries」选项卡,点击“Add Library」按钮,选择我们在上一步里创建的Sketch文档。

如图所示,我将AIN-colors文档添加到了Libraries体系当中,这样我就可以在任何其他Sketch文件里对其进行调用了;这便是Libraries功能的强大之处。

怎样使用这些颜色Symbols呢?在接下来创建图标Library的过程中,我将进行演示。

第三步:创建新的Sketch文档,用于图标定义

类似于我们在第一步当中的做法,这一次我们对图标进行定义。新文档名为「AIN-icons」,与之前的「AIN-colors」文档保存在相同的路径中;之后所有原子级UI元素的Libraries文档也都将被保存在这里。

您可能想查找下面的文章:

  • 如何规避 Design System 架构设计中的逻辑陷阱?
  • 像做产品一样对Design System进行前期规划
  • 实用经验!移动AR体验设计的特质与挑战
  • 实用全面!教你用Sketch Libraries构建组件库/设计体系
  • Sketch 新出了Libraries功能,以后团队协作更方便了!
  • Facebook设计副总裁:谈谈设计师的职业成功之路
  • 超实用!信息架构基础知识科普手册
  • 好习惯学起来!帮新手提高效率的Sketch高频使用技巧
  • 顶尖高手的经验!Facebook的产品设计师是如何思考的(二)
  • 顶尖高手的经验!Facebook的产品设计师是如何思考的?

相关文章

  • 2018-08-23高手的平面课堂!用一个实战案例帮你学会平衡构图
  • 2017-08-06浅谈.html,.htm,.shtml,.shtm的区别与联系
  • 2017-08-06关于启用 HTTPS 的一些经验分享
  • 2017-08-06即将成为主流的2015—2016交互体验趋势
  • 2018-08-23YouTube 终于换Logo啦!来看背后的设计故事!
  • 2018-08-23想提示用户有错误?不会这五个设计方法怎么行
  • 2018-08-23踩坑经验!那些你想太多的「过度设计」和改进方式
  • 2018-08-23中小团队来收!如何快速制作有效的UI设计规范?
  • 2018-08-23高手的平面课堂!版面太平了应该怎么破?
  • 2018-08-23用这5个技巧在网页设计中玩转视差特效

文章分类

  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure

最近更新的内容

    • 对话腾讯设计师:微信车票背后的设计故事
    • HTML写链接的时候要始终将正斜杠添加到子文件夹减少HTTP请求
    • Bootstrap之所以广泛流传的11大原因
    • 从1.2亿次的点击中,苹果学到了这个提高用户体验的方法
    • 那些很熟悉但又叫不出名字的设计法则:选择架构
    • 谷歌所说的“整体网页设计”到底是什么概念?
    • 怎样设计,才能抓住用户稍纵即逝的注意力
    • 超全面!交互设计的基础方法和理论总结(上)
    • 超实用!通用设计法则解析之「无障碍使用」
    • 你的网站适合IE8访问吗?

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有