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 开发支持软件旨在满足这些需求并加快开发过程。

审核编辑:郭婷

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

    关注

    22

    文章

    5168

    浏览量

    144905
  • 控制器
    +关注

    关注

    114

    文章

    17915

    浏览量

    195826
  • 嵌入式
    +关注

    关注

    5212

    文章

    20763

    浏览量

    338790
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    Air8000W +AI开发APP 诗词闯关(SCCG)开发指南

    本篇旨在讲述在引擎 Air8000W开发诗词闯关 app(SCCG)项目的详细过程。 诗词闯关 app,是一款使用合宙 AirUI 轻量化图形开发框架,基于工业引擎 Air8101引擎主机硬件和 LuatOS 系统
    的头像 发表于 05-11 15:30 131次阅读
    Air8000W +AI<b class='flag-5'>开发</b>APP 诗词闯关(SCCG)<b class='flag-5'>开发</b>指南

    Air8101诗词闯关APP 开发指南

    本篇旨在讲述在引擎 8101 开发诗词闯关 app(SCCG)项目的详细过程。 诗词闯关 app,是一款使用合宙 AirUI 轻量化图形开发框架,基于工业引擎 Air8101引擎主机硬件和 LuatOS 系统
    的头像 发表于 05-11 14:17 95次阅读
    Air8101诗词闯关APP  <b class='flag-5'>开发</b>指南

    LCD开发:从硬件适配到UI实现

    提升LCD开发效率的关键,不在于更换更快的屏幕或更强的MCU,而在于优化开发链路本身。通过构建从硬件接口验证、驱动移植、图形库配置到UI组件开发的完整流程,并引入标准化模板与自动化工具
    的头像 发表于 01-26 19:20 273次阅读
    LCD<b class='flag-5'>开发</b>:从硬件适配到<b class='flag-5'>UI</b>实现

    AMD与微软与西门子合作加速软件定义汽车发展

    AMD 日前宣布推出新功能,旨在依托微软 Azure云平台上的云端仿真和数字孪生技术,支持汽车软件的前移式开发。通过采用前移式开发方法,OEM 厂商和一级供应商能够提升
    的头像 发表于 01-23 09:15 2219次阅读

    开发过程中如何利用CW32L083系列微控制器的官方固件库进行程序编写和调试?

    开发过程中,如何利用CW32L083系列微控制器的官方固件库进行程序编写和调试?
    发表于 12-15 07:23

    RUI Builder 图形化UI设计工具

    ,容易调用 *** 目前仅支持:RA8889/RA6809 RUI Builder软件主界面如下: RUI Builder辅助人机界面开发流程如下:
    发表于 12-12 20:14

    如何调试和编程CW32F030C8T7?支持哪些调试工具和编程语言?

    了解如何调试和编程CW32F030C8T7是开发过程中的重要环节。它支持哪些调试工具(如JTAG、串口调试等)和编程语言(如C、C++等)?如何设置和使用这些工具来加速开发过程
    发表于 12-05 06:48

    Flutter 移动端开发:集成淘宝 API 实现商品数据实时展示 APP

    。Flutter 凭借其跨平台特性、高效的开发效率和丰富的 UI 组件,成为开发此类 APP 的理想选择。本文将详细介绍如何使用 Flutter 集成淘宝 API,实现商品数据实时展示 APP 的
    的头像 发表于 11-13 09:36 569次阅读

    京微齐力新版福晞软件工具全面优化FPGA设计环境

    FPGA 设计开发过程中,软件是工程师必不可少的工具,好的软件开发环境可以简化设计者的设计流程,缩短开发时间,提升整体设计效率。
    的头像 发表于 10-23 17:48 5169次阅读
    京微齐力新版福晞<b class='flag-5'>软件</b>工具全面优化FPGA设计环境

    开发指南】全志系列核心板开发过程中的常见问题及排查策略

    在长期提供技术支持服务的过程中,飞凌嵌入式总结了用户开发全志系列产品时常见的问题及排查方法。本文中,小编将为大家梳理这些经验,助力开发者快速定位问题,提升
    的头像 发表于 10-15 08:04 7115次阅读
    【<b class='flag-5'>开发</b>指南】全志系列核心板<b class='flag-5'>开发过程</b>中的常见问题及排查策略

    知识分享 | 敏捷方法在基于模型的软件开发项目中的应用

    传统的瀑布式软件开发流程存在诸多局限,这使得应用敏捷原则变得尤为重要,尤其是面对复杂且不断变化的开发环境时。作为最高效的软件开发方法之一,基于模型的开发(MBD)具有诸多优势。将敏捷原
    的头像 发表于 07-16 16:52 1492次阅读
    知识分享 | 敏捷方法在基于模型的<b class='flag-5'>软件开发</b>项目中的应用

    嵌入式软件开发常用的软件有哪些?

    应用程序的全套工具,‌包括代码编辑器、‌编译器、‌调试器等,‌极大地简化了Qt应用程序的开发过程。‌Qt Creator支持Qt Widgets Application、‌Qt Quick
    发表于 07-03 17:06

    请问如何通过OpenVINO™加速启用稳定的扩散 Web UI

    无法运行具有OpenVINO™加速的稳定扩散 Web UI
    发表于 06-24 06:48

    UI开发概述

    使用UI开发框架开发应用时,主要涉及如下开发过程开发者可以先通过第一个入门实例了解整个应用的UI
    发表于 06-24 06:36

    使用CY7C65213开发过程中,应该用哪个interface进行uart通信?

    在使用CY7C65213开发过程中,我想用CyUartRead读数据,但是好像没有接口的deviceType是CY_TYPE_UART,想请问我应该用哪个interface进行uart通信? 是否有相关指导文件,或描述符指导?
    发表于 06-03 07:04