c7018.com快速飞艇邀请码哪里有UI设计前端开发者的

2019-05-15 09:15| 发布者: | 查看: |



相关推荐:



  做过前端开发的人常有这样的经历,面对一张 UI 设计图片,要把它转换为相应 GUI 骨架代码。首先开发者需要从视觉上理解图片中的 UI 元素及其空间布局,然后将自己的理解转换为合适的 UI 组件以及组件间的组合,如图 1 所示

  然而,UI 设计图与 GUI 骨架之间存在概念上的差异,为了弥合这一差距,开发人员需要了解 GUI 骨架的所有组件及其支持的视觉效果,以及不同组件的交互和组合效果。这个差异可以理解为对 UI 设计的元素描述和代码实现之间的知识鸿沟。实际上,更多的开发者正使用反复试验的方式来弄清楚 GUI 组件组合方式来实现给定的 UI 设计,这样的跟踪和不断地尝试非常麻烦,也浪费了宝贵的开发时间,不利于 UI 设计开发的快速迭代

  有没有办法通过 UI 设计图直接生成 GUI 骨架代码来简化这个繁复的转换过程,让开发者解放更多精力投入到后续的应用功能开发中去

  某些工具声称可以在给定 UI 设计图的情况下自动生成 GUI 骨架代码,但这些工具由于是基于人工设计的视觉理解规则实现的,因此功能十分有限,不能处理真实复杂的 UI 设计(如图 1)

  和普通的源语言和目标语言都是文本数据的机器翻译不同,从 UI 设计图到 GUI 骨架代码的机器翻译任务需要联合处理图像和文本数据。另外,这个机器翻译任务也和作为单词序列的文本不同,系统的输入 UI 设计图包含 UI 元素的空间布局信息,并且系统输出的 GUI 骨架是 GUI 组件的分层组合。考虑到上述任务特征,研究者们设计了一个神经网络翻译器,它由一个卷积神经网络(CNN)、一个递归神经网络(RNN)编码器和一个 RNN 解码器组成,如图 2 所示

  给定输入 UI 设计图,CNN 通过一系列卷积和池化操作提取多种图像特征,然后,RNN 编码器将这些图像特征的空间布局信息编码为矢量 C,最后由 RNN 解码器使用该矢量 C 以令牌序列的方式表示生成 GUI 骨架

  为了训练前文提到的神经网络翻译器,需要一组来自移动应用程序的大量 UI 图像和对应的 GUI 骨架。受自动化 GUI 测试技术的启发,研究者开发了一种自动化技术来探索 GUI 组件及布局,如图 3 所示。在探索阶段,程序将自动储存与运行时 GUI 组件层次结构配对的屏幕 UI 截图,存储内容类似图 4 所示

  自动化 UI 探索工具使用 Android 模拟器来运行 Android 应用程序,c7018.com快速飞艇邀请码哪里有存储成对的 UI 截图和相应的运行时 GUI 组件层次结构。此工具在有 32 个 Intel Xeon CPU 和 189G 内存的 64 位 Ubuntu 16.04 服务器上运行,其并行控制 16 个模拟器收集数据(每个应用程序运行 45 分钟)

  论文抓取了 Google Play 中的 6000 个 Android 应用,UI 探索工具成功运行了其中 5043 个属于 25 个不同类别的应用程序,图 5(a)展示了每个类别中的应用程序数量。其余 957 个应用程序需要额外的硬件支持或需要模拟器中没有的第三方库。最终 UI 探索工具收集了 185,277 对 UI 图像和 GUI 代码骨架,并将数据用于神经机器翻译器的训练和测试。图 5(b)中的方框图显示了收集的 GUI 骨架的复杂性,从图中可以看出这些数据具有丰富的多样性

  在 10804 个测试 UI 图像中,生成的 6513(60.28%)个 UI 图像对应的 GUI 骨架与实际 GUI 骨架完全匹配,证明了模型成功捕获了 UI 图像包含的组件及其布局信息

  另外,论文随机选择了 20 个不在上述 UI 数据集中且安装量在一百万以上的应用程序(热门应用程序通常具有丰富的 GUI 内容),共收集了 1208 个 UI 图像,并为其生成了 GUI 骨架。实验结果显示,平均正确率为 59.47%,证明了神经网络翻译器具有较强泛化能力

  最后,论文进行了一项试验性用户研究,在此研究中包括使用神经网络翻译器指导的实验组和全程自行实现的对照组。实验组比对照组实现 GUI 时间分别为平均 6.14 分钟和 15.19 分钟。实际上,对照组的平均时间比结果体现的更长,因为其中四分之三的参与者在 20 分钟内未能完成至少一个 UI 图像,而实验组的所有参与者在 15 分钟内完成所有任务。实验表明,神经网络翻译器具有较强实用性,可以辅助开发者生成 GUI 骨架,缩短设计流程

  图 6(a)和图 6(b)展示了两个具有挑战性的案例。图 6(a)是一个益智游戏的设置 UI,其中进入游戏的图标(红色框处)包含字符表。神经网络翻译器可以正确地将红色框中的区域识别为图像,并为其生成 ImageView 而不是 TextView。图 6(b)中的 UI 包含背景图像,前景中有一些 UI 元素(红色框处)。神经网络翻译器也可以正确地将前景元素和背景图像分开,而不是将 UI 元素视为背景图像的一部分。从上述两个例子可以看出,神经网络翻译器可以可靠地区分不同类型的视觉元素并生成正确的 GUI 组件

  图 6(c)展示了包含一个 6 层嵌套组合的组件结构的 UI 设计图,图 6(d)展示了一个有 60 个 GUI 组件的 UI 设计,这些 GUI 组件的形状,大小和对齐方式各不相同。对于这两种在深度和广度上复杂度较高的情况,神经网络翻译器生成的 GUI 骨架与 UI 设计图对应的 GUI 骨架完全匹配。由此看出,神经网络翻译器可以克服复杂的 UI 元素空间布局并生成正确的 GUI 骨架代码

<
>
快速飞艇网成立于2014年,我们是一家专注用户体验设计开发与互联网品牌建设的设计公司,创立至今为2000多位客户提供了创新与专业的设计方案。设计服务范围包括:交互原型设计、产品视觉设计、网站设计与开发建设、移动及软件产品界面设计、图标设计、品牌及平面设计等。

联系我们

江苏省南京市玄武区玄武湖

13588889999(服务时间:9:00-18:00)

admin@adminbuy.cn

在线咨询 官方微信官方微信

部门热线

前   台:13588889999
业务部:13588889999
客服部:13588889999
技术部:13566667777
人事部:13566667777

网站建设 微信开发 售后服务 咨询电话13588889999 返回顶部
返回顶部