昨天忙到半夜,今天早上又连轴转到下午,饭都顾不上吃。所以说创业就自由了的,那一定是没真创过业。
本来想聊聊上周末发布的小米新机,一个挺好的话题,结果被各种事情拖到现在。得,文章是写不成了。
不过今天跟两位开发者朋友聊天时,聊到了一个挺有意思的话题:D2C,也就是 Design to Code 的缩写,直白点说就是设计稿转代码。


说实话,这个话题我挺有感触的。
倒不是因为我最近在做什么 D2C 项目,而是这玩意儿——太能勾起回忆了。
我还记得2019年那会儿,imgcook 刚出来的时候,应该是“前端已死”这个论调第一次大规模出现。不知不觉,这话竟然已经说了7年。

但当初看到这个项目时,我觉得想法是真好。它直指一个痛点:完全想解决前端被称为“切图仔”的问题。而现在的 D2C,本质上就是想把这个目标再往前推一大步。
第一代的 D2C:理想与现实的落差
传统的前端开发流程是怎样的?设计师给个 Figma 或者 Sketch 文件 -> 前端同学打开 -> 看着那个花里胡哨的界面 -> 然后开始 -> 手撸代码。。。
有过切图经验的都知道,设计稿和实际开发,完全是两码事。 标注的颜色和实际输出总差一点,间距永远差几个像素,响应式完全要靠自己脑补。。。别怀疑这是因为公司小,大厂也一样。
听着难受吧?但这确实反映了前端开发里一个很现实的问题:大量重复、低价值的 UI 还原工作,占据了前端太多的时间和精力。 还得背上“切图仔”的名号。
所以当 imgcook 这类早期 D2C 工具出现时,大家的反应分成了两派:
- 一派欢欣鼓舞:终于来了!解放了!以后上传设计稿,代码就自动生成了!
- 另一派(包括我)持观望态度:这玩意儿真能生成能用的代码吗?
事实证明,观望是对的。
早期 D2C 工具的输出,用一个词形容就是灾难现场。
它生成的代码结构,往往是这样的:
嵌套 18 层的 div,各种 inline style,语义化为零,可维护性为负数。你拿过来一看,好家伙,没一行代码是人能看懂的。更别提什么组件化、工程化了。它就是生成了一堆“看起来能跑”的 HTML 而已。
所以,第一波 D2C 的浪潮,最后的结果是:大家满怀希望地试了一圈,然后又默默地回去继续手撸代码了。
第二代的 D2C:AI 带来的转机
但事情在 2023 年之后开始变了。
为什么?因为 AI 来了。
之前的 D2C 工具,本质上是规则驱动的。靠一群工程师写死的规则去解析设计稿,然后按固定的模板输出代码。
但现在不一样了。大语言模型和视觉模型可以“理解”设计图了。 它能识别出某个区域是导航栏,另一个是商品列表。它能根据上下文推断某个元素应该是按钮还是装饰。它甚至能根据你的项目结构和团队规范,生成风格一致的代码。
举个真实的例子。
前段时间我在折腾一个项目,需要把 Figma 设计稿转成 React 代码。我试了试 Claude Code 结合 Figma MCP 插件的组合。流程是:先把 Figma 设计稿的节点结构和样式信息传给 AI,让 AI 理解整个布局,最后让它生成符合我项目现有规范的代码。
效果怎么样?说实话,有点惊艳。它知道什么时候该用 flex,什么时候该用 position: absolute。它甚至能判断哪些元素组合应该被抽离成一个独立的、可复用的组件。这不正是现代前端框架如 React 或 Vue.js 所倡导的开发模式吗?
现在的 D2C 已经完全可用了吗?还差得远
但别高兴得太早。AI + D2C 真的完美了吗?远没有。
举个最简单的例子:如果你的设计稿里有复杂的交互动画逻辑,比如鼠标悬停、点击反馈、序列动画等。这些东西,很多时候在设计稿静态图里根本没有体现,AI 自然也无从“猜”起。
所以,D2C 的本质问题,从来不是“能不能生成代码”,而是 “能生成多少‘有价值’的代码”。
业内有个粗略的划分,前端开发的工作大概可以分成两部分:
- UI 还原(切图、写样式、调整布局)
- 业务逻辑(数据交互、状态管理、复杂业务规则)
D2C 想要替代的,是第一部分的重复劳动。但问题是,这两部分的边界在真实项目中常常是模糊的。
很多时候,UI 和业务逻辑是紧密耦合的。比如一个动态表单,其 UI 结构(字段排列、显隐规则)直接依赖于数据结构。又比如一个复杂的图表,其绘制逻辑和数据转换逻辑是混在一起的。在这些场景下,目前的 D2C 能做的就非常有限了,它生成的更多是静态的骨架,核心的 JavaScript 逻辑还是需要人工填充。
写在最后
今天聊完,我最大的感触是:技术的演进,从来不是非黑即白的替换。
D2C 不是救世主,能立刻让前端告别切图;它也不是毫无用处的洪水猛兽。它就是一个工具,一个在特定场景下(比如中后台页面、营销静态页)能显著提效的工具。
这就像当年的 Sass、Webpack、TypeScript 一样,它们没有“杀死”什么,而是重塑了工作流。
而 AI + D2C,我相信也会走同样的路。未来的开发模式,一定是人机协作。AI 负责处理重复、机械、模式化的工作,释放人的精力;而人则专注于决策、创造、架构设计和质量把控。
在这个过程中,前端开发者的核心竞争力,会逐渐从“写 CSS/HTML 有多快”,转向 “理解业务有多深”、“设计架构有多合理”、“把控全局质量有多强”。
所以,与其焦虑“工具会不会替代我”,不如多思考:如何利用好这些新工具,去解决你手中更复杂的业务问题。毕竟,代码的终点不是代码,而是解决问题。
这个道理,放在哪个时代都不会过时。
(这篇文章从早上拖到现在,创业就是这样,计划总赶不上变化。好了,晚上十点半,我终于可以去吃我的“午饭”了。)
其他推荐阅读(原文已存在,与上下文强相关,故保留):
想了解更多关于前端工程化、工具链或AI结合的实践与讨论?欢迎来云栈社区的技术板块逛逛,这里汇聚了许多开发者对类似话题的深度交流。