 2019-2021 美团技术年货 前端篇自动生成代码的方案。 目前,业内主流的代码生成方案有两种,一种是通过训练神经网络,从图片或草图直 接生成代码,以微软 sketch2json 为代表;另一种是基于 Sketch 源文件,从中解析 出图层信息转化成 DSL 并生成代码,以 imgCook 为代表。经过实践,我们发现第 一种方案基于神经网络的代码生成算法虽然简单粗暴,但复杂层布局的准确率较低、 可解释程度不高导致后续无法持续优化。方案二中 环布局),58 Picasso 仅支持原始组件的识别,复杂组件生成错误较多,不支 持成组 / 悬浮 / 循环布局,准确率较低。 ● 代码可读性方面:淘宝 imgCook 在生成布局时,测试样本中图层重叠区域使 用到了基于根布局的绝对定位方式,不符合 RD 预期,可读性一般,而我们的 方案使用相对定位方式,可读性较好。 58 > 2021年美团技术年货 ● 研发流程覆盖度方面:淘宝 imgCook 钮、标题、进度条、评分组件等,但 是 Sketch 数据源中并没有这些组件只有图层信息,图层是设计师在设计 UI 视图时 用到的视图控件。组件与图层的对应关系是一对多的关系,图层在 Sketch 数据源中 的表现形式如下图中的 JSON 数据结构所示,描述了图层的坐标、大小等信息,后 续布局生成就是基于对图层的切割来实现的。 [ { "class_name":"MSTextLayer"0 码力 | 738 页 | 50.29 MB | 1 年前3 2019-2021 美团技术年货 前端篇自动生成代码的方案。 目前,业内主流的代码生成方案有两种,一种是通过训练神经网络,从图片或草图直 接生成代码,以微软 sketch2json 为代表;另一种是基于 Sketch 源文件,从中解析 出图层信息转化成 DSL 并生成代码,以 imgCook 为代表。经过实践,我们发现第 一种方案基于神经网络的代码生成算法虽然简单粗暴,但复杂层布局的准确率较低、 可解释程度不高导致后续无法持续优化。方案二中 环布局),58 Picasso 仅支持原始组件的识别,复杂组件生成错误较多,不支 持成组 / 悬浮 / 循环布局,准确率较低。 ● 代码可读性方面:淘宝 imgCook 在生成布局时,测试样本中图层重叠区域使 用到了基于根布局的绝对定位方式,不符合 RD 预期,可读性一般,而我们的 方案使用相对定位方式,可读性较好。 58 > 2021年美团技术年货 ● 研发流程覆盖度方面:淘宝 imgCook 钮、标题、进度条、评分组件等,但 是 Sketch 数据源中并没有这些组件只有图层信息,图层是设计师在设计 UI 视图时 用到的视图控件。组件与图层的对应关系是一对多的关系,图层在 Sketch 数据源中 的表现形式如下图中的 JSON 数据结构所示,描述了图层的坐标、大小等信息,后 续布局生成就是基于对图层的切割来实现的。 [ { "class_name":"MSTextLayer"0 码力 | 738 页 | 50.29 MB | 1 年前3
共 1 条
- 1













