多屏世界的框架
在不到十年的时间里,嵌入式系统的格局发生了很大的变化,并对用户界面的设计产生了深远的影响。不仅嵌入式系统采用先进的触摸式用户界面,把它们从用户觉得不易操作的键盘式面板升级,而且还把界面导出到各种外部设备,如智能手机和平板电脑。借助网络和云连接,这些远程设备上的界面可以充分利用流行的终端用户平台(如 iOS 和安卓系统)提供的可用性、丰富的功能和熟悉的操作。
在传统的嵌入式系统上,需要结合难记的菜单选项和按钮才能完成的操作,在触摸式界面面板或通过网络或互联网与系统连接的平板电脑上,只需一个手势即可完成。工业用户可以利用智能手机和平板电脑更轻松、更高效地对机器进行编程和监控。此外,用户还可以定制没有内置用户界面的智能传感器 — 这是针对物联网创建嵌入式设备的一个重要趋势。
迁移到多屏 — 不是所有的平台都能适用
消费者需要用更加灵活的方式来使用和控制住宅和汽车里的电子设备。一台电视不再只有一个遥控器。遥控器可以是 iPhone 手机或安卓平板电脑,每一个都根据其所在平台相关的手势及风格拥有不同的用户界面。同时,电视将拥有自己品牌化的用户界面,当用户在设备间切换时保持一致。这种连接设备的增加推动了对多屏或多平台的嵌入式应用的需求。同时,这是一种不断变化的环境。
随着多屏应用变得越来越普遍,也可以设计完全独立于平台的软件服务,例如音乐流媒体服务。应用和用户数据位于云后端的内部,并提供多个任意的客户端应用,以便在任何地方访问服务(台式机、手机、汽车、电视),并无缝地继续跨设备的体验。这些服务已经存在,但从软件角度而言,这种设计阶段的思维转变虽然微不足道但非常重要。与从单一平台支持开始(如安卓),并设计“一个流媒体音乐用的安卓应用”不同,开发者应该首先考虑平台的独立性,为音乐流媒体服务设计一个通用的、可扩展的架构。
十年前,连接设备的格局和我们今天所看到的非常不同。从 2005 年左右开始,智能手机开始在市场上盛行,现在,手机的销量已经超过了个人电脑。从 2009 年开始,便携式平板电脑成为了另一种快速增长的设备类型,开始是 iOS,后来是安卓和 Windows 8,只用了五年的时间,就进一步分化和改变了设备的局面。智能手机和平板电脑反过来推动了嵌入式设备的不断增长,它们采用越来越丰富的用户界面,如最近推出的汽车中采用的触屏和手势控制的大型仪表盘界面。
由此产生的局面非常分散和难以预测。这不仅涉及操作系统,还有设备类型。今天,用户想用来访问嵌入式系统的设备可能与三到五年后他们将采用的设备有很大的不同。平板电脑现在很流行,但五年多前,很少有人为它们设计应用。而可穿戴式设备正在再次迅速改变着设备外观。
要解决这一问题,嵌入式系统的开发人员需要应对巨大市场变化的策略。每个目标都不同,并可能带来新的用户交互类型。现在为智能手机和平板电脑用户所熟悉的滑动和缩放手势操作,在老式的台式机环境几乎闻所未闻。这似乎说明了一种情况,即每个平台都需要有专门为它编写的应用。当bug出现时,开发团队就需要在修复时,采取措施使不同的平台保持一致。
多屏开发策略
以上问题的一种解决方式就是利用基于 web 的技术,即运行在客户端上的所有软件都是通过一个浏览器来呈现内容,后端处理由远程服务器来控制,但这要求客户端始终保持连接才能提供全部功能。而在有的车载系统的情况下,这可能不切实际,例如当车辆不在有稳定的无线连接的范围内。如果有不同用户界面功能的新型设备出现,甚至可能需要改变浏览器的外观。此外,尽管基于 HTML5 的用户界面在不断完善,但其在性能和开发流畅性方面往往无法匹敌原生的用户界面。
最佳的方式不是为每一个当前目标设备编写专用的本机应用,因为这不但大大增加了工作量,也不能让这些设备面向未来,而应采用跨平台软件框架,并把核心业务逻辑和表示层明确分开,以带来所需的灵活性。
大部分的核心功能和数据处理由一套统一的、跨平台的代码(没有硬绑定到其表示层)处理。表示层反映了目标屏幕或平台之间的差异,从显示屏的尺寸到它支持的交互类型。以这种方式,可以分别开发台式机、面向鼠标的操作系统和包含丰富手势的智能手机的表示层,但仍然使用相同的底层核心功能。
通过精心设计,两层可以相互无缝通信,并提供用户期望从界面得到的事件驱动响应。Qt 是跨平台的应用框架,不仅支持业务逻辑与表示层分离,还提供一系列机制,可以简化针对每个目标设备调整用户界面的工作
- Linux嵌入式系统开发平台选型探讨(11-09)
- 嵌入式系统中文输入法的设计(03-02)
- 基于MPC755的嵌入式计算机系统设计(05-10)
- WinCE下光电编码器的驱动程序设计(04-12)
- 为什么嵌入式开发人员要使用FPGA(05-13)
- VxWorks几种常用的延时方法介绍(05-16)