R1.01.1named distributable value设计
令牌把设计决定变为可分发的命名值
别名: 设计令牌 · design token · 命名值 · 可分发决策
概念解释
画布上的一块色、一行字号、一截圆角,在离开文件之前只是作者当时的选择。给它一个稳定名字、写成可被多端读取的键值,这份选择才变成可分发的命名值(named distributable value)。令牌的工作不是把调色板装饰得更整齐,而是把一次设计决定做成能装进管道、能被 CSS、iOS、Android 同时订阅的发运单位。
它回答的是「这份决定怎么离开设计工具、还不丢身份」,不是「名字该分几层」,也不是「主题怎么换」。没被导出、只活在本地样式里的色板,还不是令牌。
机制
跨表面复用靠的是地址,不是像素相似。设计文件里的色块没有地址:开发者只能用吸管或标注抄一个十六进制,抄完就和源头断开。名字提供寻址,打包成令牌文件提供投递——同一条 color.bg.canvas 可以生成 CSS 自定义属性、Swift 常量和 Compose 色值。之后改的是令牌源里的值,而不是三个代码库里的三处拷贝。
发运单位是「名字 + 值 + 类型」,不是色板本身。类型约束让间距不会被当成颜色用掉;名字让引用方不必知道底层数字。决定一旦没有名字,就无法进入这条管道,只能靠人肉同步,而人肉同步在第二次改动时必然漏项。
边界
只有一个客户端、从不导出的内部演示稿,命名的分发收益用不上,但仍可能用名字方便设计文件内部检索。插画、照片、一次性营销页如果故意不进产品管道,硬做成令牌只会把一次性选择冻进体系。平台专用的系统色(如跟随操作系统的窗口背景)也不该伪装成产品令牌——消费方是系统,不是你们的令牌文件。Figma 变量若从未写入可构建的产物,对工程来说仍等于不存在。
怎么落地
- 在设计工具里只把要跨文件、跨平台复用的决定收成变量,并导出为构建可读的令牌源(JSON 或等价格式)。
- 用同一份令牌源生成 Web、iOS、Android 的平台文件,禁止在组件里另开一份平行色表。
- 改一处令牌源中的值,确认三个平台产物里的对应名字一起变,且组件文件无需改动。
- 验证:抽一条高频名字,在仓库里搜索它的引用;再把它的值改掉并重新生成,目视三个平台的同一界面是否同时跟上。搜不到名字、或只有一端跟上,说明它还不是可分发的发运单位。