Figma悄悄改了一件小事,却暴露了设计系统的底层逻辑

AI PM 编辑部 · 2024年04月16日 · 4 阅读 · AI/人工智能

正在加载视频...

视频章节

Figma 在 2024 年并没有发布一个“看起来很酷”的新功能,而是对排版做了一次极其克制的升级:字体变量。它不炫技,却直接击中了所有做系统、做规模、做长期维护的人。更重要的是,这套思路,AI 从业者一定看得懂。

Figma悄悄改了一件小事,却暴露了设计系统的底层逻辑

Figma 在 2024 年并没有发布一个“看起来很酷”的新功能,而是对排版做了一次极其克制的升级:字体变量。它不炫技,却直接击中了所有做系统、做规模、做长期维护的人。更重要的是,这套思路,AI 从业者一定看得懂。

最反直觉的更新:Figma没有新增类型,却改变了规则

这次更新最反直觉的地方在于:Figma 没有为排版新增任何“专用变量类型”。没有 typography variable,没有 magic font token。

它只用了两种你已经见过无数次的变量:string 和 number。

string 变量,被用在字体家族、字体样式、字体权重名称;number 变量,则覆盖了字体大小、行高、字距、段落间距,甚至段落缩进。听起来平平无奇,但这一步非常狠。

这等于在告诉所有设计系统构建者一句话:排版不是特殊物种,它只是另一种可参数化的系统。

以前我们做 typography system,本质是在记忆:这个标题是 Space Grotesk / Bold / 48 / 56,这个正文是 DM Sans / Regular / 16 / 24。现在 Figma 直接把这件事抽象成变量组合——你不再“记住样式”,而是在“调用配置”。

如果你是做 AI 系统、Prompt 模板、模型配置的,这个转变会非常眼熟:从硬编码,到参数化,再到可切换的上下文。

Habits 的案例,其实是一次“系统设计示范”

视频里用的是一个叫 Habits 的应用案例,看起来只是教学,其实是一次非常标准的系统拆解。

他们做的第一步不是“做响应式”,而是审计:到底有哪些不可避免的不同?结论很克制——只有三类:字体家族、字体权重、字号/行高。

于是变量的组织方式也非常清晰:
- font/family/title 和 font/family/body,用 string 变量
- font/weight/regular、medium、bold,用 string 变量而不是数字
- font/size/XS 到 4XL,用 number 变量
- font/line-height/XS 到 XL,用 number 变量

这里有一个细节非常值得注意:他们明确讨论了“字体权重要不要用数字”。结论不是哪种更高级,而是——选一种,坚持一致。

这和 AI 系统里一个老问题一模一样:embedding 维度、temperature、top-p,你可以选不同表示方式,但系统最怕的是混用。

真正让这个系统起飞的,是变量模式(Variable Modes)。同一套变量,在 Mobile 和 Desktop 两个模式下存不同的值。样式不变,组件不变,只切换上下文。

这已经不是设计技巧了,这是配置驱动系统的思维。

为什么这件事,AI 从业者一定要看懂

如果你觉得这只是“设计师的事”,那你可能忽略了一个趋势:Figma 正在把设计系统变成“可计算系统”。

变量 + 模式,本质上就是:
- 一个稳定的接口(text style)
- 多套可切换的参数集(variable modes)
- 上层完全不用关心底层怎么变

这和模型推理环境、agent 行为配置、甚至多语言 Prompt 适配几乎是同构的。

更重要的是,它解决的是规模问题。Habits 不需要为 desktop 新建一套 styles,不需要复制组件,只是切换模式,整个排版体系就变了。

这也是 AI 产品迟早要面对的现实:当你的系统开始支持多终端、多语言、多用户偏好时,你是继续复制,还是抽象?

Figma 的答案非常明确:抽象,而且抽象得足够底层。

总结

这次 Figma 的字体变量更新,看似只是排版效率提升,实际上是一堂关于“系统如何长期可维护”的公开课。

如果你在做 AI 产品、工具或平台,可以直接拿走三个 takeaway:第一,不要为特殊情况设计特殊系统,能用通用抽象就不要发明新类型;第二,变量真正的威力不在于复用,而在于“模式切换”;第三,规模不是靠复制解决的,而是靠参数化。

一个值得思考的问题是:你的 AI 系统里,有没有哪些地方,其实早就该从“写死逻辑”,升级为“变量 + 模式”?


关键词: Figma, 设计系统, 变量, Typography, 系统抽象

事实核查备注: 视频发布时间为 2024-04-16;功能名称为 Variables for typography;示例应用为 Habits(教学案例);变量类型仅使用 string 和 number;变量模式示例为 Mobile 与 Desktop。