Figma Dev Mode 实测:让开发者和设计师不再为“这个间距是12还是16”吵架
我既当过开发者,也当过设计师(虽然不太专业)。作为开发者,我曾盯着 Figma 文件看半天,就为了搞清楚一个容器是 12 像素的内边距还是 16 像素——结果设计师说“我凭感觉放的,没设约束”。作为设计师,我也见过开发者按着规格实现了,但看起来不对,因为间距层次靠的是视觉意图而不是数字。
Figma 的 Dev Mode 就是为解决这个问题推出的——一个专门给开发者看的视图,能直接显示尺寸、代码片段和组件属性,不用你学会 Figma 的全部操作。设计师在 Design 模式里做设计,开发者按快捷键切到 Dev 模式,两边都不用再发“嘿,快速问一下那个内边距……”的 Slack 消息了。
我们用了两个迭代周期、三次真实的设计稿交付来测试 Dev Mode。下面是它真正解决的问题,以及哪些地方还是得靠人。
Dev Mode 改变了什么?
普通 Figma 的检查模式只能看到单个图层的宽高、坐标、颜色、效果这些静态属性。但当你需要知道“这两个按钮之间的间距是多少”“这个文字样式继承自哪个组件”“断点是多少”时,你得自己算坐标差,或者等设计师手动标注。
Dev Mode 把信息重新组织成一个面板,优先显示元素之间的间距测量值、自动生成的 CSS 和 Tailwind 类、组件文档,还有一个组件树列表,直接对应代码里的层级。它的测量工具(Figma 叫“红线”)是最大的亮点。点一个元素,鼠标移到相邻元素附近,Dev Mode 就会画一条带标签的测量线,告诉你精确的像素距离。再也不用选中两个图层、记下坐标、在心里做减法了。
在之前那三次交付中,最常出现的问题——“X 和 Y 之间精确的间距是多少?”——从平均每次四到六个问题,降到了几乎为零。设计师不再手动标注间距,因为工具自动生成了。省下的时间看似不多(每问一次大概五分钟),但真正浪费的不是打字时间,而是开发者和设计师来回切换上下文的成本。在密集实现的那几周里,这种打断每天会发生好几次。
代码生成:Dev Mode 产出的代码,和你真正上线的代码
Dev Mode 可以生成 CSS、Tailwind、SwiftUI 和 Compose 的代码片段——从下拉菜单选目标框架,点一个元素,然后复制。但生成质量因平台和复杂程度差异很大。
对于 CSS,简单布局是可用的。一个按钮会生成类似这样的代码:
/* Dev Mode 为一级按钮生成的 CSS */
display: flex;
padding: 12px 24px;
justify-content: center;
align-items: center;
gap: 8px;
border-radius: 8px;
background: var(--colors-primary-500, #3B82F6);
color: #FFFFFF;
font-family: Inter;
font-size: 14px;
font-weight: 600;
line-height: 20px;
这不是能直接上线的 CSS——硬编码的颜色值、内联字体声明、没有 token 引用——你大概率要重写大部分。但它消除了最开始的抄写步骤:不用从检查面板里手动敲数值了。我把 CSS 输出当作参考清单用。它告诉了我设计师想要的精确圆角和行高,这才是我真正需要的信息。
Tailwind 输出没那么靠谱。Dev Mode 试图把 Figma 样式映射到 Tailwind 工具类,但遇到自定义值时映射会失败。比如 padding: 18px 会变成 p-[18px],一个任意值,能用但失去了用 Tailwind 比例尺的意义。如果你的设计系统用了标准间距 token(4px、8px、12px、16px……),Tailwind 输出可以直接用。如果是非标准间距,把它当草稿看。
SwiftUI 和 Compose 的代码片段也存在,但我没怎么测——我们那三次交付都是 Web 项目。从文档截图来看,平台特定代码生成的目标和 CSS 输出一样:颜色、间距、字体,不会生成布局逻辑、状态管理或无障碍标注。
组件检查和文档:被低估的功能
Figma 组件有很多属性——变体、布尔开关、文本覆盖、实例替换槽。Dev Mode 把这些显示在一个结构化的面板里,读起来像组件文档。每个组件实例你都能看到名称、变体值、设计师附上的任何文档链接,还有一个“复制选中项链接”按钮,能生成一个直接指向 Figma 文件里该元素的深层链接。
文档链接是悄悄解决我们最大交付问题的功能。我们的设计师把每个组件都链接到了一个 Notion 页面,里面写了组件的使用场景、状态(悬浮、激活、禁用、加载、错误)和无障碍要求。在普通 Figma 里,要找这个文档得去另一个 Notion 工作区按组件名搜索。在 Dev Mode 里,从你正在检查的元素点一下就行。两个迭代周期下来,涉及无障碍的实现错误(缺失焦点状态、错误 aria 标签)从每个组件大约一个降到了零——前提是那些组件有链接文档。
组件变体面板还能展开完整的组件树,这对理解复杂组件如何由更小的原子组件组成很有帮助。尤其是接手你没参与构建的设计系统时,你可以追踪一个页面组件到它最底层的原子,理解预期的复用模式,而不需要让设计师带你过一遍。
Dev Mode 的短板(以及仍然需要人的地方)
三次交付中,我们发现了三个缺口。
第一,Dev Mode 展示的是设计师做了什么,而不是他们想做什么。如果设计师手动放了一个矩形,而不是用自动布局框架,Dev Mode 会报告静态坐标,内容一变就会乱。工具不能从错误的实现中推断意图。你仍然需要设计师在交付前清理图层,你也仍然需要开发者识别出哪里没用自动布局并反馈。
第二,响应式行为是看不见的。Dev Mode 只显示文件当前激活的断点下的设计。如果设计师只做了 1440px 的设计,你得到的就是 1440px 的测量值和 CSS。在 768px 会发生什么?那是要沟通的事情,不是能测量的。团队如果没有在 Figma 里采用组件级响应式设计模式,Dev Mode 只会给你精确的答案,但问错了问题。
第三,代码生成会造成一种“已经完成”的错觉。一个按钮有了正确的内边距和圆角,但还不是一个完成的按钮——你还需要处理加载状态、禁用状态、键盘导航、屏幕阅读器播报、交互动画等。Dev Mode 生成的是视觉属性。行为仍然是你的事。
Dev Mode vs. Zeplin vs. Abstract:Figma 在自己的生态里赢了吗?
Zeplin 开创了设计稿交付这个类别,现在仍然是个好工具,适合需要像素级精确规格、自动导出素材以及在 Figma 之外也能反馈的团队。对于设计者和开发者用不同工具、交付是一个正式关卡(“设计文件锁定了,开发开始”)的团队,Zeplin 的专用交付流程可能比 Figma 的视图切换更干净。
Abstract 曾是 Sketch 文件的版本控制层,但在 Figma 吃掉 UI 设计市场后再也没恢复过来。它转型成了一个更广泛的设计运营平台,2026 年已经不是 Dev Mode 的直接对手了。
Dev Mode 的主要优势不是功能上比 Zeplin 强,而是它就在设计师已经在用的工具里。没有导出步骤、没有上传步骤、没有同步步骤。设计师完成一个屏幕,开发者立刻在 Dev Mode 里打开,设计师迭代时还能实时更新。这种交付延迟的消失——从“设计师导出文件、等待问题”到“开发者拉取最新改动、继续开发”——才是比任何测量工具都重要的功能。
Dev Mode 包含在 Figma Professional、Organization 和 Enterprise 计划中——Professional 计划大约每个编辑者每月 15 美元。免费的 Starter 计划只有基础检查,没有红线测量、代码生成和组件文档这些真正有用的功能。如果你的团队用 Starter 计划,你其实要么升级来支付 Dev Mode 的费用,要么花开发者的时间手动测量。
谁应该使用 Dev Mode
Dev Mode 最适合团队:开发者和设计师在同一个设计系统上协作,设计文件使用了自动布局、组件和变体。对于这些团队,该工具能把每次交付的测量和文档收集开销减少大约 30% 到 40%——不是通过生成生产级代码,而是通过用更少的点击,在正确的时间呈现正确的信息。
对于设计师交付扁平 PNG、或者开发者根据书面规范而不是 Figma 文件工作的团队,Dev Mode 没什么用。对于已经用 Zeplin 且流程顺畅的团队,Dev Mode 是平级选择而不是升级——在 Figma 内访问的便利性,被失去 Zeplin 专用的交付管道抵消了。
我们的团队保留了 Dev Mode,不再考虑其他方案。光是红线测量就消除了最常见的交付问题,组件文档链接弥合了设计意图和实现之间的差距——这个差距之前导致过反复的 bug。它不是设计到代码转换的神奇解决方案,Figma 也谨慎地没有把它定位成那样。它是一个更好的开发者检查面板,对于已经活在 Figma 里的团队来说,这就够了。
常见问题
直达网址:https://pickuma.com/for-dev/figma-dev-mode-design-handoff-review/
