写点什么

前端要凉?微软开源 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

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

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

关注

评论 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
回复
没有更多了
发现更多内容

设计模式的艺术 第十章桥接设计模式练习(设计一个数据转换工具,可以将数据库中的数据转换成多种文件格式,例如txt、xml、pdf等格式,同时该工具需要支持多种不同的数据库)

代廉洁

设计模式的艺术

研发管理 DevOps 最佳实践之三问三答

极狐GitLab

DevOps gitlab CI/CD 代码规范 gitops

NFT平台开发:NFT数字馆藏平台开发

开源直播系统源码

数字藏品软件开发 数字藏品开发 数字藏品系统

如何有效改进回顾会议(下)?

敏捷开发

Scrum 回顾会 Scrum团队

ClickHouse与Elasticsearch压测实践

京东科技开发者

elasticsearch 分布式 数据分析 Clickhouse 数据库·

大厂裁员小厂跑路,是时候做这件事了,否则到时可别后悔!!!

CRMEB

建成 5000 多间「梦想中心」后,他们决定将技术开源

腾源会

开源 公益 腾源会

java程序员培训学习需要多长时间?

小谷哥

Tapdata 获得阿里云首批产品生态集成认证,携手阿里云共建新合作

阿里巴巴云原生

阿里云 Serverless 云原生 SAE 合作

2022 世界人工智能大会|人工智能与开源技术先锋论坛即将开幕

Kyligence

开源技术 人工智能大会

蓝牙5.0简介、nRF52832 BLE样例工程框架及main函数初始化流程简析

矜辰所致

蓝牙 启动流程 8月月更 nRF52832

详解 Sqllogictest

Databend

大数据 databend Sqllogictest

分分钟带你了解 ES2022 最重要的 4 个特性!

掘金安东尼

前端 8月月更 ES2022

参加大数据培训机构学习前景怎么样

小谷哥

选择web前端培训机构需要注意什么?

小谷哥

项目经理和ScrumMaster可以是同一个人吗?

ShineScrum

Scrum 敏捷 ScrumMaster 项目经理

web前端培训学习应该注意什么

小谷哥

10大常用的排序算法(算法分析+动图演示)

Five

算法 排序算法 8月月更

【小程序项目开发 --- 京东商城】 启航篇之uni-app项目搭建

计算机魔术师

8月月更

leetcode 227. Basic Calculator II 基本计算器 II(中等)

okokabcd

LeetCode 算法与数据结构

如何快速地学习东西(下篇)

宇宙之一粟

学习方法 8月月更

SpringCloud 注册中心 (Eureka) 快速入门

微服务 Eureka SpringCould 8月月更

一文读懂数据科学Notebook

Baihai IDP

人工智能 ide AI notebook 数据科学

无需编写一行代码,实现任何方法的流量防护能力

阿里巴巴云原生

阿里云 微服务 云原生 流量

另眼旁观 Linkerd 2.12 的发布:服务网格标准的曙光?

张晓辉

云原生 kuberne Linkerd 服务网格

【小程序项目开发-- 京东商城】uni-app开发之配置 tabBar & 窗口样式

计算机魔术师

8月月更

你还有什么问题吗?

AlwaysBeta

程序员 面试

SpringCloud Eureka参数配置项详解

echoes

深圳选择java培训机构哪家靠谱?

小谷哥

【小程序】view视图,swiper轮播图,scroll-view滑动列表 (在线详细手册)

计算机魔术师

8月月更

为什么MatrixOne 0.5变慢了

MatrixOrigin

矩阵起源 MatirxOrigin MatirxOne 因子化

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