阿里云「飞天发布时刻」2024来啦!新产品、新特性、新能力、新方案,等你来探~ 了解详情
写点什么

前端要凉?微软开源 Sketch2Code,草图秒变代码

  • 2018-09-04
  • 本文字数:1160 字

    阅读完需:约 4 分钟

用户界面设计过程涉及大量创造性的迭代工作。这个过程通常从在白板或白纸上画草图开始,设计师和工程师分享他们的想法,尽力表达出潜在的客户场景或工作流程。当他们在某个设计上达成一致之后,通过照片的形式将草图拍下来,然后手动将草图翻译成 HTML 代码。翻译过程需要耗费很多时间和精力,通常会减慢设计过程。
如果可以将白板上手绘的设计立即反映在浏览器中,那会怎样?如果我们能够做到这一点,在设计头脑风暴结束时,我们就可以拥有一个已经由设计师、开发人员甚至客户验证过的现成原型,这将为网站和应用程序开发省不少时间。现在,微软已经借助 AI 做到了这一点,同时他们还将这个项目在 Github 上开源了。

Sketch2Code 是什么?

Sketch2Code 是一个基于 Web 的解决方案,使用 AI 将手绘的用户界面草图转换为可用的 HTML 代码。Sketch2Code 由微软和 Kabel、Spike Techniques 合作开发。读者可以在 GitHub 上找到与 Sketch2Code 相关的代码、解决方案开发过程和其他详细信息。

Sketch2Code 项目地址: https://github.com/Microsoft/ailab/tree/master/Sketch2Code

下图演示了利用 Sketch2Code 将手绘草图转换成代码的操作过程。在微软官方网站上可以做更多尝试: https://sketch2code.azurewebsites.net/

Sketch2Code 是如何工作的?

让我们来看看使用 Sketch2Code 将手绘草图转换成 HTML 代码的过程:

  • 用户将图片上传到网站上。
  • 自定义视觉模型预测在图像中出现的 HTML 元素,并将它们的位置标出来。
  • 手写文本识别服务读取预测元素中的文本。
  • 布局算法根据预测元素的边框空间信息生成网格结构。
  • HTML 生成引擎使用上述信息来生成 HTML 代码。

工作流程如下所示:

Sketch2Code 的架构设计

Sketch2Code 使用了以下组件:

  • 微软自定义视觉模型(Custom Vision):这个模型是基于不同的手绘稿的图象训练得出的,并标记了与常见 HTML 元素(如文本框、按钮、图像等)相关的信息。
  • 微软计算机视觉服务:用于识别设计元素中的文本。
  • Azure Blob Storage:保存与 HTML 生成过程的每个步骤相关的信息,包括原始图像、预测结果、布局和分组信息等。
  • Azure Function:它作为后端入口点,通过与其他服务发生交互来协调生成过程。
  • Azure Website:用户界面前端,用户可以在这里上载设计图,并查看生成的 HTML。

以上组件通过如下架构组合在一起:

是不是感觉跃跃欲试?

你可以在这里找到 Sketch2Code 的开源代码:

https://github.com/Microsoft/ailab/tree/master/Sketch2Code

也可以在这里对 Sketch2Code 的实际效果进行验证: https://sketch2code.azurewebsites.net/

查看英文原文:

https://blogs.technet.microsoft.com/machinelearning/2018/08/30/turn-whiteboard-ux-sketches-into-working-html-in-seconds-introducing-sketch2code/

http://www.alphr.com/microsoft/1009840/microsofts-ai-sketch2code-builds-websites

公众号推荐:

跳进 AI 的奇妙世界,一起探索未来工作的新风貌!想要深入了解 AI 如何成为产业创新的新引擎?好奇哪些城市正成为 AI 人才的新磁场?《中国生成式 AI 开发者洞察 2024》由 InfoQ 研究中心精心打造,为你深度解锁生成式 AI 领域的最新开发者动态。无论你是资深研发者,还是对生成式 AI 充满好奇的新手,这份报告都是你不可错过的知识宝典。欢迎大家扫码关注「AI前线」公众号,回复「开发者洞察」领取。

2018-09-04 06:063592
用户头像

发布了 731 篇内容, 共 433.9 次阅读, 收获喜欢 1997 次。

关注

评论 6 条评论

发布
用户头像
标题党
2021-04-20 08:53
回复
用户头像
这是升职加薪的附属产物吧?
2018-11-21 15:38
回复
用户头像
又是一败笔
2018-11-10 10:44
回复
用户头像
前端又不只是HTML
2018-11-08 18:33
回复
用户头像
生成的代码是否对二次开发和后期维护友好
2018-11-08 10:27
回复
如果能友好,当年frontpage早就一统天下了
2018-11-08 14:10
回复
没有更多了
发现更多内容

区块链与物联网融合理论架构

CECBC

区块链

Python+Selenium——自动办公美梦的破碎与重建

小匚

Python 自动化 办公

IPFS矿机软件系统开发|IPFS矿机APP开发

系统开发

「架构师训练营 4 期」 第一周 - 1001

凯迪

真香系列!大牛耗时一年最佳总结,让你的app体验更丝滑!建议收藏

欢喜学安卓

android 程序员 面试 移动开发

我从 HX 辞职了

看山

辞职 闲聊

工具之书:坚韧

lidaobing

文学少女 28天写作

零基础工程师绘图指南,半小时水平越级提升!

穿甲兵

架构 设计 软件工程 分层架构

前端组件化基础知识

三钻

大前端 组件化

Hadoop 编程实战:HDFS API 编程样例

罗小龙

Java hadoop hdfs 编程

AEM公链APP系统开发|AEM公链软件开发

系统开发

架构师训练营—大作业(二)

Geek_shu1988

2020中国低代码平台市场发展年度报告(深度分析)

J2PaaS低代码平台

软件 低代码 开发工具 SaaS/IaaS/PaaS 软件开发、

架构师训练营知识点整理

garlic

架构师训练营第 1 期

深入浅出Android!2021京东最新Android面试真题解析,震撼来袭免费下载!

欢喜学安卓

android 程序员 面试 移动开发

极客大学架构师训练营 - 架构师技术图谱 - 大作业二

好吃不贵

架构师训练营第 1 期

SSH 免密码/免用户名/免IP登录云服务器实践

穿甲兵

SSH 服务器

LeetCode题解:347. 前 K 个高频元素,二叉堆,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

现成花火交易所系统软件APP开发案例

系统开发

2020年Python文章盘点,我选出了个人TOP10

Python猫

Python 学习 编程 技术

第十一周作业

Jack

(无聊预警)来啊一起冲浪啊 - 网络协议01

Max Zhang - 张亦弛

网络协议 基础知识 OSI七层协议

Caddy服务器使用方法

Rayan

运维 https 服务器 SSL证书

牛笔了!难道Android真的凉了?Android面试题及解析

欢喜学安卓

android 程序员 面试 移动开发

关于食堂就餐卡系统设计

MR.X

系统设计 食堂就餐卡

区块链2020年终盘点

CECBC

区块链

「架构师训练营 4 期」 第一周 - 001002

凯迪

《从C ++开始》第9版(1200页)

计算机与AI

c++

高德地图、百度地图 都不如“人的智慧”

小匚

Python 深度思考 产品 日常思考

DeFi中的关键——智能合约 | 白话区块链入门220

CECBC

区块链

2021健康快乐

escray

2021

前端要凉?微软开源Sketch2Code,草图秒变代码_微软_微软ML博客团队_InfoQ精选文章