当前位置: 首页 > article >正文

用 Google Stitch 重构设计系统

大多数 AI 设计工具在你尝试将它们接入真实产品工作流之前都感觉像玩具然后一切都崩塌了。Google Stitch 有趣的地方在于它试图将设计视为可编程的表面而不仅仅是一个漂亮的画布。1、Google Stitch 到底是什么如果忽略营销宣传Stitch 基本上是一个 AI 优先的设计系统编辑器。它介于 Figma 级别的设计和生产 UI 代码之间。你用自然语言或结构化数据描述组件、模式和约束。Stitch 使用 Gemini 来生成、重构并将这些部分连接成看起来像真正产品的东西。它不只是能画屏幕的 AI。它更像是能用你的产品词汇与你一起编辑和组合设计系统的 AI。对于工程师来说有趣的部分是这样的。Stitch 希望成为以机器可理解的方式定义设计 token、组件和流程的地方。这就是它变得有用的地方。2、为什么 Stitch 对工程师很重要设计曾经是单向导出。设计师发送 Figma 链接工程师将它们逆向工程为代码。有了 AI 参与这个模型就崩塌了。你要么给模型提供结构化的设计知识要么得到随机的 Dribbble 克隆。Stitch 试图解决三个真正的问题。第一产品团队希望 AI 生成符合其品牌和 UX 模式的流程。这意味着 AI 需要访问可重用的组件、约束和文案规则。第二工程师厌倦了与真实组件零映射的AI 模型。你不能从任意像素自动生成 React 或 Flutter 并期望它可维护。第三设计系统日益庞大且文档不足。AI 可以帮助导航它们但前提是系统以数据形式表示而不仅仅是帧。Stitch 是 Google 对这个中间层形式化的尝试。把它想象成设计系统即代码附带 AI copilot。3、Stitch 如何融入技术栈如果你习惯正常的产品流水线它大概是这样的。产品规格、UX 流程、Figma 屏幕、设计系统、组件库、实现。Stitch 试图同时存在于三个位置。它想成为用 AI 探索和迭代流程的地方想成为你设计系统的结构化表示想成为从AI 生成的 UI到代码中真实组件的桥梁。从高层看你可以想象 Stitch 内部的三层。理解登录屏幕、“空状态”、错误 toast的语义层。知道主按钮、“卡片”、导航栏的组件层。知道你的间距、排版、颜色和可访问性规则的约束层。Gemini 在此基础上工作。你用产品语言与它对话它从这些层组合而不是从零开始幻觉。这是你应该关注的模式。不是 Stitch 的具体 UI而是 AI 设计必须扎根于结构化系统的理念。4、设计系统作为 AI 燃料如果你没有设计系统AI 设计工具会给你混乱。如果你有好的设计系统AI 就成为力量倍增器。Stitch 假设你有或想要一个看起来像数据的设计系统。可以序列化、查询和转换的 token、组件、变体和规则。在实践中这意味着类似这样的东西。颜色定义为 token而不是散落在 Figma 中的十六进制代码。排版定义为语义角色而不是随机字体大小。组件定义带有 props 和状态而不仅仅是帧。布局规则表达为约束而不是目测间距。如果你想 AI 生成工程师能实现的屏幕你无论如何都需要这些。Stitch 只是在推动你将其形式化。这里有一个简单的思维模型。你的设计系统变成 APIGemini 是客户端你的产品流程是响应。一旦你这样看你就能想象一些有趣的工作流。5、用结构化方式提示 UI大多数用 AI 设计工具今天接受模糊的提示如给我一个 SaaS 工具的仪表板。Stitch 试图转向引用真实原语的结构化提示。不是自由形式的文本你最终得到更接近这样的东西。{ goal: Create a billing settings screen for an existing SaaS admin app, brand_tone: minimal, enterprise, low color saturation, components: [PageLayout, FormSection, PrimaryButton, SecondaryButton, AlertBanner], constraints: { max_columns: 2, primary_action_position: bottom-right, requires_breadcrumbs: true }, states: [default, loading, error, success] }这不是官方的 Stitch 语法但它抓住了要点。你不是在要求像素你是在要求在约束下组合已知的片段。然后 Gemini 可以这样响应。使用带面包屑的 PageLayout为付款方式和发票放置 FormSection将 PrimaryButton 附加到更新付款方式等。输出仍然是可视化的但它映射到你的词汇表。这就是让它可实现的原因。作为工程师你应该思考如何以这种结构化的方式将你的设计系统暴露给 AI。Stitch 是一种实现但模式是可移植的。6、从 Stitch 到代码有趣的工程问题始终是这如何变成不是噩梦般难以维护的代码Google 通过各种内部工具和实验一直在推动设计转代码。Stitch 看起来是 AI 被用来弥合差距的下一个迭代。正确的模型不是一键导出到生产 React。正确的模型是AI 建议易于转换到你现有组件库的组件组合。你希望 AI 以你的 Button、Card、LayoutGrid 等来思考。而不是带有内联样式的通用 HTML。一个现实的流程可能是这样的。你在 Stitch 能理解的 schema 中定义你的生产组件。你将设计组件映射到代码组件包括 props 和变体。Stitch 生成使用这些映射组件的屏幕。你导出一个轻量级的表示你的 codegen 或工程师可以连接。这个表示可能是 JSON、YAML 或自定义的东西。关键是映射是显式的并且有版本控制。以下是 React 应用的映射层可能的样子的微小示例。// design-system-map.ts export const componentMap { PrimaryButton: { react: Button, props: { variant: primary } }, SecondaryButton: { react: Button, props: { variant: secondary } }, AlertBanner: { react: Alert, props: { variant: warning } } }现在当 Stitch 或 Gemini 谈论PrimaryButton时你确切知道它在代码中意味着什么。你可以在此基础上构建自己的从 AI 世界到 UI 库的桥梁。这就是工程杠杆。你没有被锁定在魔法导出中你控制映射。7、AI 用于重构设计系统Stitch 不仅仅是生成新屏幕。AI 也非常擅长清理混乱的设计系统。如果你有一个包含 40 个略有不同按钮的 Figma 文件你知道这种痛苦。你也知道没有人愿意手动规范化它们。Gemini 可以扫描你的组件并建议合并、抽象和 token 化。它可以说这 12 个按钮仅在 padding 上不同考虑使用 size prop或这 5 个卡片共享 90% 的样式。这与代码重构工具的工作方式类似。你得到建议而不是强制更改。对于从未有时间清理设计系统的团队来说这是一件大事。你可以引导一个更结构化的系统然后 AI 可以使用它进行生成。这也意味着你的设计系统可以持续演进。新模型在 mock 中出现AI 建议如何将它们折叠回系统。这个反馈循环才是它变得强大的地方。8、AI 作为设计 Linter一旦你的设计系统结构化了你可以将 AI 视为设计的 linter。不仅是这个颜色对比度不达标而是这个布局违反了你自己的模式。想象一个 PR 工作流其中设计差异由了解你系统的 AI 检查。它可以标记不一致的间距、次要操作的误用或偏离品牌的文案。Stitch 定位为那个上下文持有者。它知道你的组件、token 和流程因此可以对照它们评判新工作。这不是关于取代设计师。而是关于自动捕获低级不一致就像 ESLint 捕获愚蠢的代码错误一样。工程师直接受益。更少的意外重新设计因为有人使用了流氓按钮样式。9、多模态上下文是真正的优势Google 的 AI 栈是重度多模态的。Gemini 可以在一个上下文中查看截图、代码、文本和结构化设计数据。Stitch 可以利用这一点。它能推理屏幕外观、实现方式以及如何融入流程。这与只能看到矢量帧或只能看到代码的工具不同。你可以问为什么这个流程感觉比入职流程慢并得到基于布局和文案的答案。或者显示所有请求信用卡信息的屏幕并使它们一致。AI 可以在语义上遍历设计空间而不仅仅是逐文件。作为工程师这意味着你可以在更高层次查询产品。不仅仅是在仓库中搜索 Button而是显示所有破坏性操作以及它们的样式。Stitch 加 Gemini 是暴露这种能力的一种方式。模式再次重要将设计、代码和产品语义统一到一个可查询的空间中。10、这里棘手的地方这里存在真正的挑战你应该意识到它们。AI 设计不是已解决的问题。设计系统的版本控制仍然不成熟。一旦 AI 在编辑你的系统你需要可审计性和回滚能力。将设计组件映射到代码组件是脆弱的。如果你的前端栈发生变化你的映射层必须跟上。AI 可以创建看似合理但错误的流程。你仍然需要人工审查 UX、伦理和边界情况。还有一个文化问题。如果工程师和设计师不信任 AI它就会变成摆设。缓解的方法是将 AI 视为合作者而不是神谕。你让人类参与其中记录变更审查差异。Stitch 有趣之处在于它似乎在设计时考虑到了这一点。它不是试图绕过设计师而是试图给他们一个可编程的表面。11、如何为 Stitch 这样的工具做准备你可能不会直接使用 Stitch但这类工具正在进入每个技术栈。你现在就可以准备。首先投资一个真正的设计系统。Token、组件、文档和到代码的显式映射。其次将你的设计系统表示为数据。即使是组件和 token 的简单 JSON schema 也是一大步。第三定义你的产品词汇表。AI 可以重用的流程、状态、角色和用例的名称。第四从小处开始 AI 辅助设计。用它来生成变体、空状态或错误流程而不是你的整个应用。最后让你的映射层在版本控制下。像对待代码一样对待它附带审查和测试。如果你这样做像 Stitch 这样的工具会感觉很自然。如果你不做你会得到美丽但不可用的 mock。12、最后的思考Google Stitch 之所以有趣不是因为它用 AI 画屏幕而是因为它将设计视为结构化、可编程的数据。这是整个行业正在移动的方向。对于工程师来说要点很简单。设计系统正在变成 API而 AI 是主要的客户端。如果你以模型能理解的方式暴露你的组件、token 和流程你会获得杠杆。更快的迭代、更好的一致性以及更少的手动在设计和代码之间的翻译。如果你把一切都锁定在不透明的 Figma 文件和部落知识中AI 将主要生成噪音。Stitch 是推动你清理这些的助推器。将你的设计系统视为架构的一部分。然后让 AI 帮助你探索、重构和扩展它。原文链接用 Google Stitch 重构设计系统 - 汇智网

相关文章:

用 Google Stitch 重构设计系统

大多数 AI 设计工具在你尝试将它们接入真实产品工作流之前都感觉像玩具,然后一切都崩塌了。Google Stitch 有趣的地方在于它试图将设计视为可编程的表面,而不仅仅是一个漂亮的画布。 1、Google Stitch 到底是什么 如果忽略营销宣传,Stitch …...

动态代理·学习笔记

“嗨,阿米戈。” “你好,瑞希。” “今天我将向您解释一个非常有趣的新话题:动态代理”。 “Java 有几种方法可以改变特定类的功能……” “第一个方法,传承。” “更改类行为的最简单方法是创建一个继承原始(基)类的新类,并覆盖其方法。然后,使用派生类而不是原始…...

5个关键步骤:TileLang高性能GPU算子从入门到精通

5个关键步骤:TileLang高性能GPU算子从入门到精通 【免费下载链接】tilelang Domain-specific language designed to streamline the development of high-performance GPU/CPU/Accelerators kernels 项目地址: https://gitcode.com/GitHub_Trending/ti/tilelang …...

AI智能客服性能测试实战:从零搭建到高并发优化

AI智能客服性能测试实战:从零搭建到高并发优化 最近在负责公司AI智能客服项目的性能保障工作,从零开始搭建了一套完整的性能测试与优化体系。这套系统上线后,业务量增长很快,但在几次营销活动期间,系统出现了明显的性能…...

Delphi 综合实战:整合所有知识点,打造企业级进销存小系统(可直接商用)

前面我们陆续学会了 Delphi 开发的所有核心技能:基础语法、桌面工具、数据库操作、串口通信、网络请求、JSON 解析、Excel 导出、UI 美化、多窗体管理、权限控制。 这一篇,我们将 整合所有知识点,做一个完整的 企业级进销存小系统&#xff0…...

SAMPart3D:三维模型智能分割技术的颠覆性突破

SAMPart3D:三维模型智能分割技术的颠覆性突破 【免费下载链接】SAMPart3D SAMPart3D: Segment Any Part in 3D Objects 项目地址: https://gitcode.com/gh_mirrors/sa/SAMPart3D 在工业设计领域,工程师需要花费数小时手动标注机械零件的每个组件&…...

ChatTTS 量化模型实战:如何实现高效AI语音合成与部署优化

最近在做一个需要实时语音合成的项目,用上了开源的ChatTTS模型。效果是真不错,但一上生产环境就傻眼了——模型又大又慢,服务器成本蹭蹭往上涨。为了解决这个问题,我花了不少时间研究模型量化,总算把推理速度提上来了&…...

基于ChatGPT GPTs的AI辅助开发实战:从零构建智能代码生成器

背景痛点:传统开发流程中的效率瓶颈 作为一名开发者,我们每天都在与代码打交道。但你是否也经常遇到这些令人头疼的场景? 需求理解偏差:产品经理用自然语言描述了一个复杂功能,你花了大半天时间反复沟通,…...

AI辅助开发:如何优化CiteSpace关键词聚类图谱线条的可视化效果

作为一名经常和文献计量数据打交道的开发者,我深知CiteSpace这类工具生成的关键词共现图谱有多“劝退”。密密麻麻的线条交织在一起,像一团理不清的毛线,关键信息被淹没在视觉噪音里。传统的力导向布局算法在处理大规模、高密度网络时&#x…...

ChatGPT API 支付机制深度解析:从订阅模式到企业级结算方案

1. API调用成本:LLM应用ROI的关键变量 在构建基于大型语言模型(LLM)的应用时,技术决策者往往聚焦于模型性能、响应延迟和功能实现,而容易低估持续运营成本,尤其是API调用成本对投资回报率(ROI&…...

暗黑破坏神:技术焕新与经典重构——DevilutionX的跨平台复兴之路

暗黑破坏神:技术焕新与经典重构——DevilutionX的跨平台复兴之路 【免费下载链接】devilutionX Diablo build for modern operating systems 项目地址: https://gitcode.com/gh_mirrors/de/devilutionX 在游戏产业飞速迭代的今天,如何让经典IP在现…...

BGP路由优化:配置、故障排除与网络性能提升

BGP路由优化:配置、故障排除与网络性能提升在复杂的网络环境中,尤其是在涉及多个自治系统(AS)互联互通的场景下,边界网关协议 BGP (Border Gateway Protocol) 作为互联网的关键路由协议,直接影响着网络稳定…...

OpenClaw安全指南:GLM-4.7-Flash环境下的权限控制与风险规避

OpenClaw安全指南:GLM-4.7-Flash环境下的权限控制与风险规避 1. 为什么需要特别关注OpenClaw的安全配置? 去年夏天,我在调试一个自动整理照片的OpenClaw任务时,差点酿成大祸。脚本误将整个/Users/Shared目录识别为待处理文件夹&…...

LeetCode 34. 在排序数组中查找元素的第一个和最后一个位置:二分查找实战

刷题路上,二分查找是绕不开的经典算法,而LeetCode 34题「在排序数组中查找元素的第一个和最后一个位置」,正是二分查找的进阶应用——它不仅要求我们找到目标值,更要精准定位其在非递减数组中的起始和结束位置,同时还要…...

py2exe终极指南:将Python脚本快速打包为独立Windows程序

py2exe终极指南:将Python脚本快速打包为独立Windows程序 【免费下载链接】py2exe Create standalone Windows programs from Python code 项目地址: https://gitcode.com/gh_mirrors/py/py2exe 你是否曾为Python程序部署而烦恼?想让你的Python脚本…...

OpenClaw本地知识库:nanobot处理私有化文档问答

OpenClaw本地知识库:nanobot处理私有化文档问答 1. 为什么需要本地知识库助手 去年我接手了一个技术文档整理项目,团队积累了超过2000份内部技术文档、会议纪要和产品说明。每次新人入职或者遇到特定技术问题时,我们都要在这些文档里大海捞…...

Nitrox模组:如何将Subnautica的单人深海恐惧变为团队协作冒险

Nitrox模组:如何将Subnautica的单人深海恐惧变为团队协作冒险 【免费下载链接】Nitrox An open-source, multiplayer modification for the game Subnautica. 项目地址: https://gitcode.com/gh_mirrors/ni/Nitrox 当你第一次潜入4546B行星的海洋时&#xff…...

(复现)基于观测器的事件触发跟踪一致性控制(非理想一般线性多 智能体系统) 复现参考文献

(复现)基于观测器的事件触发跟踪一致性控制(非理想一般线性多 智能体系统) 复现参考文献:《Observer-based Event-triggered Tracking Consensus of Non-ideal General Linear Multi-agent Systems 》①控制:设计了一个分布式观测…...

OpenClaw调试技巧:百川2-13B任务失败时的6种排查方法

OpenClaw调试技巧:百川2-13B任务失败时的6种排查方法 1. 为什么需要专门的调试方法? 上周我让OpenClaw自动整理一批会议录音转文字稿,结果凌晨3点收到飞书报警——任务卡在"正在分析关键内容"阶段。第二天检查发现,百…...

星图平台双镜像方案:OpenClaw与百川2-13B的隔离部署技巧

星图平台双镜像方案:OpenClaw与百川2-13B的隔离部署技巧 1. 为什么需要双镜像隔离部署 去年我在尝试将OpenClaw接入本地大模型时,踩过一个典型的坑:当模型需要更新或维护时,整个自动化流程就会中断。最严重的一次,模…...

从零开始:使用TypeScript快速构建浏览器RPG游戏的终极指南

从零开始:使用TypeScript快速构建浏览器RPG游戏的终极指南 【免费下载链接】RPG-JS Framework to create an RPG or MMORPG (with the same code) in the browser with Typescript 项目地址: https://gitcode.com/gh_mirrors/rp/RPG-JS 想要在浏览器中创建令…...

Yuzu模拟器终极指南:7天学会如何选择最佳版本和优化性能 [特殊字符]

Yuzu模拟器终极指南:7天学会如何选择最佳版本和优化性能 🎮 【免费下载链接】yuzu-downloads 项目地址: https://gitcode.com/GitHub_Trending/yu/yuzu-downloads 还在为选择哪个Yuzu模拟器版本而头疼吗?😫 别担心&#x…...

探索FDTD仿真中的光栅衍射阶数与反射阶数相位

fdtd仿真,光栅衍射阶数,反射阶数相位,复现结果如图,通用方法在电磁学和光学领域,FDTD(时域有限差分法)仿真是一项强大的工具,它能帮助我们深入理解复杂的电磁现象。今天咱就来聊聊FD…...

深入解析时钟网络延迟(Clock Network Latency)的优化策略与实现原理

最近在搞一个分布式系统项目,性能压测时总发现吞吐量上不去,延迟时高时低。经过一番排查,定位到了“时钟网络延迟”这个平时不太起眼,但影响巨大的问题上。今天就来聊聊这个“时钟网络延迟”(Clock Network Latency&am…...

4个步骤掌握FederatedScope:从入门到实践的联邦学习全流程指南

4个步骤掌握FederatedScope:从入门到实践的联邦学习全流程指南 【免费下载链接】FederatedScope An easy-to-use federated learning platform 项目地址: https://gitcode.com/gh_mirrors/fe/FederatedScope 联邦学习作为隐私计算领域的核心技术,…...

基于Chrome WebRTC与语音大模型的端到端AI辅助开发实战

最近在做一个需要实时语音交互的智能应用,项目要求低延迟、高音质,并且要能集成一个语音大模型进行实时分析和反馈。经过一番技术选型和实践,最终选择了基于 Chrome WebRTC 技术栈来构建端到端的解决方案。整个过程踩了不少坑,也积…...

基于LiveQing流媒体平台实现大疆无人机等RTMP推流接入轻松实现Web网页直播+录像回放

大疆无人机RTMP推流接入LiveQing,轻松实现Web网页直播录像留存 在无人机直播场景中,大疆无人机凭借出色的空中视角和稳定的图传表现,成为应急救援、工程巡检、赛事直播、国土测绘等领域的首选设备。但很多用户在使用大疆无人机直播时&#xf…...

OpenClaw飞书机器人:GLM-4.7-Flash实现智能问答助手

OpenClaw飞书机器人:GLM-4.7-Flash实现智能问答助手 1. 为什么选择OpenClaw飞书GLM组合 去年我接手了一个技术文档整理项目,每天需要处理上百条来自不同渠道的技术咨询。手动回复效率低下,而公有云上的智能客服方案又存在数据安全顾虑。直到…...

深入解析cosyvoice接口:从技术原理到高效集成实践

在智能语音交互领域,cosyvoice接口正扮演着越来越重要的角色。它让智能客服能够进行更自然流畅的多轮对话,为在线教育平台提供了实时语音评测与反馈的能力,同时也让各类智能硬件实现了精准的远场语音唤醒和指令识别。这些场景都离不开一个稳定…...

嵌入式NMEA-0183零内存分配解析器设计与实现

1. NMEA-0183 协议解析库深度技术解析:面向嵌入式系统的轻量级、零内存分配实现 NMEA-0183(National Marine Electronics Association 0183)是全球航海电子设备事实上的标准通信协议,自1983年发布以来,已广泛应用于GPS…...