0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

UI开发支持软件加速开发过程

星星科技指导员 来源:嵌入式计算设计 作者:Thomas Fletcher 2022-06-28 15:07 次阅读

无论开发过程多么精细,每个嵌入式 UI 开发团队都面临着克服沟通障碍的挑战。看似是开发过程中必不可少且有益的部分,即 UI 设计师和嵌入式系统开发人员之间来回交换想法和信息,但在以下关键领域充满了障碍:

孤立的工作流程:设计人员和开发人员通常以孤立的方式和线性方式工作。一旦设计完成,设计人员通常会转移到另一个项目,对 UI 设计的调整就会落入嵌入式系统开发人员的手中。

不熟练的任务执行:当嵌入式开发人员被迫进行设计更改时,他们不再“做他们最擅长的事情”——这是构建产品的后端。

缺乏可见性:开发人员经常在没有完全了解 UI 功能要求的情况下选择硬件操作系统

参数不明确:设计人员在没有预先参数的情况下工作,通常会概念化远远超出运行 UI 的系统功能的功能。创建难以实现或不可能实现的 UI 会大大增加开发成本。

无论开发团队是为汽车、洗碗机还是温度计创建界面,UI 设计师都很难通过其工程实现从创意愿景传达动态和活跃 UI 的意图。这种沟通挑战不仅会导致设计团队和实施团队之间产生摩擦,还会威胁到最终产品的完整性。原因:设计变更是流程中不可避免的一部分。当团队努力将原始设计意图与可用的技术能力(或限制)相匹配时,错误的可能性会随着每次增量更改而增加。

这种沟通障碍也延长了开发时间,使发布计划陷入困境,并且在许多情况下迫使公司在预定日期之后很久才推出不太理想的 UI。废弃 UI 并重新开始的成本通常是难以承受的。此外,对于可能每年发布一次 UI 的公司(汽车行业嵌入式 UI 的典型交付周期为 1.5 年),推迟发布日期可能意味着竞争优势和过时之间的差异。

模拟是另一个普遍的挑战。在许多开发环境中,模拟是使用 HTML 或 Flash 创建的,并在桌面而不是目标硬件上运行。这会导致明显缺乏对功能问题的可见性,当 UI 在嵌入式硬件上运行时肯定会出现这些问题。结果:团队中的每个人都在努力制定部分规范并做出假设。这种仿真方法总是导致需要大量编码才能使接口在嵌入式硬件环境中发挥作用。简而言之,模拟通常与最终托管 UI 的嵌入式环境的功能和行为不匹配。

在当今的大多数情况下,最终的 UI 是由于孤立的开发过程而导致的一系列妥协的结果,从而导致用户体验质量下降。该过程通常如下进行。设计团队交付初始设计,然后工程团队在实施他们认为是设计的过程中进行更改和调整。有时更改是根据硬件/软件限制有意识地执行的;其他时候,这些更改不是有意的,而是在开发人员填补规范中的空白时进行的,即“应该”如何在所有情况下执行 UI。更复杂的是,最初的设计师(可能是帮助 UI 概念的外部资源)可能不再参与该项目。这种资源实际上已经消失了。

但是为工作选择正确的 UI 开发支持软件很重要。因此,侧边栏列出了在这个范式中要考虑的 10 个最重要的问题。

建立通用软件环境

更好的 UI 设计和实现方法是建立一个涵盖整个开发团队及其工具的通用软件环境,并使每个人都能以一致的方式参与围绕 UI 的讨论。通过这种方式,设计人员和开发人员可以从头到尾就设计本身保持沟通,并在整个过程中按照逻辑出现的变化和约束进行管理。当设计师从头到尾保持对用户界面的所有权时,软件开发人员可以专注于完善核心产品功能,而不是“移动像素”以适应不断变化的 UI。通过对设计的全面了解和对嵌入式实施的近乎即时的反馈,设计人员可以在功能发展时做出明智的决策。通过在模拟下开发的工作用户界面,开发人员可以在选择硬件和操作系统时使用真实的 UI 做出明智的决定。总之,当必须进行 UI 调整时,每个人都能够更好地确保视觉的一致性。

可以同时协同工作的团队——设计人员负责用户界面,系统开发人员保留底层系统界面逻辑和行为的所有权——也可以将设计带到部署模拟中(反映实际硬件和操作系统上的功能) ) 更快。早期的模拟提供了许多优势。开发人员可以在投入使用该技术之前,在各种硬件平台上测试应用程序。这对于当今高度交互的 UI 至关重要。触摸屏的功能自然会与标准的“鼠标和键盘”桌面输入有很大不同,并且可以使用平板电脑操作系统非常有效地建模。早期的模拟也会对设计师施加约束,

早期的模拟和改进的沟通可以大大缩短开发计划。这最终有助于提高最终产品的质量,因为它为用户体验测试和基于客户反馈的产品改进打开了大门。此外,这种细化发生在设计人员身上,而不是软件开发人员所需的昂贵且耗时的重新编码。所有这些都使公司能够降低设计师和软件开发人员之间的交接成本。

更快地将产品推向市场

确保 UI 开发过程不受上述障碍阻碍的有效方法是使用 UI 开发支持软件。使用此类软件的公司已经能够将这种协作开发环境付诸实施,从而加快部署时间。一个例子是 QNX Software Systems 使用 Crank Software 的 Storyboard Suite UI 开发支持软件来实现嵌入到宾利概念车中的 17 英寸曲面 1080p 中控台显示器。数字光投影 HMI 在 2013 年消费电子展上首次亮相以及最初在 Adob​​e Photoshop 中创建并在八周内完全实施的特色内容,而这种规模的项目通常需要开发人员和设计师之间来回四到六个月的时间。

允许这种类型的产品快速开发的原因是用户界面与系统实现细节的强力解耦。模型-视图-控制器 (MVC) 范式通过事件和消息传递系统引导所有用户界面更改来严格执行。

消息传递接口允许将 UI 构建为未来数据绑定的合同,这些数据绑定将作为输入/输出事件提供。在最初的用户界面开发过程中,任何需要的输入都可以使用合成事件来模拟,而无需任何功能正常的嵌入式硬件系统。

由于明确定义所需的输入和输出事件,系统开发也进展得更快。根据定义而不是 UI 演示验证他们的输入和输出更容易验证系统组件。

这种结构化的事件接口集极大地促进了最终产品的组装和集成。移除模拟的输入和输出,并将它们替换为已根据事件规范验证的系统组件。

提供高质量的 UI 体验

在竞争激烈的嵌入式 UI 世界中,评判公司的依据是其提供超出消费者期望的最先进技术的能力。更快、更具成本效益的 UI 开发至关重要。更重要的是制作技术可以实现的最高质量的用户界面——随后的每一代产品都必须超越上一代。UI 开发支持软件可以通过在开发过程中确保设计人员和开发人员之间的完全可见性和协作,并启用类似于运行时引擎的软件模拟功能,从而在嵌入式硬件上提前进行软件测试,从而满足所有这些需求。Crank Software 等供应商及其 Storyboard Suite UI 开发支持软件旨在满足这些需求并加快开发过程。

审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 显示器
    +关注

    关注

    21

    文章

    4723

    浏览量

    137736
  • 控制器
    +关注

    关注

    112

    文章

    15154

    浏览量

    170952
  • 嵌入式
    +关注

    关注

    4976

    文章

    18246

    浏览量

    287937
收藏 人收藏

    评论

    相关推荐

    ASIC芯片开发过程

    电子发烧友网站提供《ASIC芯片开发过程.ppt》资料免费下载
    发表于 12-25 10:04 1次下载

    为什么开发过程中有些不带光耦隔离的继电器需要引脚开漏输出控制?

    为什么开发过程中有些不带光耦隔离的继电器需要引脚开漏输出控制
    发表于 11-03 06:41

    Android校园应用开发过程

    电子发烧友网站提供《Android校园应用开发过程.pdf》资料免费下载
    发表于 10-19 11:36 0次下载
    Android校园应用<b class='flag-5'>开发过程</b>

    用C语言实现的跨平台开发库TBOX

    TBOX针对各个平台,封装了统一的接口,简化了各类开发过程中常用操作,使你在开发过程中,更加关注实际应用的开发,而不是把时间浪费在琐碎的接口兼容性上面,并且充分利用了各个平台独有的一些特性进行优化
    的头像 发表于 10-17 14:04 826次阅读

    自动驾驶系统(ADS)的开发过程

    开发接口 除了功能之外,还必须关注自动驾驶系统(ADS)的开发过程。下面简要概述调试功能,这些功能用于电子控制单元(ECU)的初始开发,以启动和运行它。 事件记录部分则概述了从道路检索数据以服务于
    的头像 发表于 10-04 11:08 761次阅读

    Vitis统一软件平台文档——应用程序加速开发

    电子发烧友网站提供《Vitis统一软件平台文档——应用程序加速开发.pdf》资料免费下载
    发表于 09-15 11:40 0次下载
    Vitis统一<b class='flag-5'>软件</b>平台文档——应用程序<b class='flag-5'>加速</b><b class='flag-5'>开发</b>

    释放效率:自动化编程机器人如何简化开发过程

    开发过程,并释放了开发者的效率。 首先,自动化编程机器人能够自动执行一些常见的开发任务。举个例子,例如代码生成。编写软件时,有很多代码模板是需要重复使用的,比如创建类、定义函数等。使
    的头像 发表于 08-17 11:13 299次阅读

    ARM开发套件链接器和实用程序指南

    : ·命令行开发工具·图形用户界面开发工具·实用程序·支持软件。 本书介绍了ARM链接器、ARM链接和随ADS提供的命令行实用工具。 有关ADS文档套件中提供有关ARM汇编器、编译器、调试器和
    发表于 08-16 07:46

    基于8ms开发86盒UI

    8ms平台,是一个跨平台嵌入式软件开发系统,专注于为广大开发者提供简单、高效的开发体验。平台包含UI拖拽式开发、Blockly积木、固件差分
    的头像 发表于 08-05 08:04 1023次阅读
    基于8ms<b class='flag-5'>开发</b>86盒<b class='flag-5'>UI</b>

    xG24开发板新增支持CircuitPython,加速物联网原型设计和开发过程

    SiliconLabs (亦称 “ 芯科科技 ” )致力于提升物联网无线连接技术能力,近期进一步为我们的 xG24 无线 SoC 系列开发板引入 CircuitPython 支持
    的头像 发表于 08-02 14:05 324次阅读
    xG24<b class='flag-5'>开发</b>板新增<b class='flag-5'>支持</b>CircuitPython,<b class='flag-5'>加速</b>物联网原型设计和<b class='flag-5'>开发过程</b>

    Vitis 统一软件平台文档:应用加速开发

    AMD Vitis 统一软件平台是面向异构应用的开发环境,这些应用支持各种 AMD 器件,如 AMD Alveo 数据中心加速器卡、AMD Versal 自适应 SoC 器件、AMD
    的头像 发表于 07-19 08:05 429次阅读
    Vitis 统一<b class='flag-5'>软件</b>平台文档:应用<b class='flag-5'>加速</b><b class='flag-5'>开发</b>

    单片机开发过程中5种延迟代码执行的技术

    在单片机项目开发过程中,经常会出现一个有趣的问题,即弄清楚如何延迟代码执行。有时,[单片机开发]人员可能只是希望有10微秒的延迟,以使I/O线在读取之前稳定下来,或者可能希望在两次读取之间指定的时间间隔使它反跳。在本文中,我们将探讨五种延迟代码执行的技术。
    的头像 发表于 07-10 10:43 1170次阅读

    空调控制各个模块的开发过程

    前面记录了空调控制的各个模块的开发过程,这篇帖子对于之前的开发过程做一个总结。包含电路介绍、过程演示以及固件,开头主要介绍Flash的操作。 确认存储使用的FLash地址 1、查看Flash: 借助
    的头像 发表于 06-29 17:01 770次阅读
    空调控制各个模块的<b class='flag-5'>开发过程</b>

    如何读懂FPGA开发过程中的Vivado时序报告?

    FPGA开发过程中,vivado和quartus等开发软件都会提供时序报告,以方便开发者判断自己的工程时序是否满足时序要求。
    发表于 06-26 15:29 555次阅读
    如何读懂FPGA<b class='flag-5'>开发过程</b>中的Vivado时序报告?

    OpenHarmony应用开发-ArkUI方舟开发框架简析

    方舟开发框架(简称ArkUI)为OpenHarmony应用的UI开发提供了完整的基础设施,包括简洁的UI语法、丰富的UI功能(组件、布局、动
    发表于 04-23 09:35