背景简介
在软件开发和设计领域,用户体验的重要性愈发突出。为了创建一致且易于维护的用户界面,设计师和开发人员需要一种系统化的方法来构建和管理UI组件。本书的第10章提供了一个名为‘原子设计’的方法,通过将设计元素分解为最小的构建块——原子,然后将它们组装成更大的结构——分子和生物体,从而实现设计的模块化和可重用性。
原子设计的基本概念
- 原子(Atoms) :构成UI的最小单元,如按钮、图标和输入框。
- 分子(Molecules) :将原子组合在一起形成的功能性组件,如搜索表单。
- 生物体(Organisms) :由分子和/或原子组成的更复杂的部分,如导航栏。
- 模板(Templates) :定义页面结构的布局框架,其中包含生物体、分子和原子。
- 页面(Pages) :模板的实际实例,展示了内容填充后的最终界面。
HTML和Mustache的结合
在为时代公司网站设计时,我们利用HTML和Mustache模板语言来构建组件和模式。Mustache是一种逻辑少、语义清晰的模板系统,通过简单的标记即可实现动态内容的替换。例如,一个包含缩略图图片、标题和摘要的基础块分子可以这样写:
<div class="block-post">
<a href="{{ url }}">
{{> atoms-thumb }}
<h3>{{ headline }}</h3>
<p>{{ excerpt }}</p>
</a>
</div>
设计系统的层级构建
原子设计法的核心在于层级构建。最小的原子被包含在更大的分子中,分子又进一步包含在生物体中。例如,网站头部的构建,它由标志原子、主要导航分子和搜索表单分子组成:
<header role="banner">
{{> atoms-logo }}
{{> molecules-primary-nav }}
{{> molecules-search }}
</header>
通过这种方式,我们可以将这些复杂的生物体包含在需要它们的任何地方,从而形成一个层次分明、逻辑清晰的设计系统。
动态内容的管理
为了确保UI模式与实际内容相匹配,Pattern Lab使用JSON文件来定义和替换设计中的动态内容部分。例如,一个简单的JSON文件可能包含:
```json "hero" : { "headline": "Lorem Ipsum", "img": { "src": "/images/sample/fpo_hero.png", "alt": "Hero Image