首页 > 娱乐 > 嵌入式Linux的图形用户接口(GUI)
嵌入式Linux的图形用户接口(GUI)
网上收集 2007/12/13 10:28:57 (430)
 前言:操作系统从纯文本界面一路进展到光鲜亮丽的图形外表,其中包含了无数的设计师的创意,当然,也有许多截他人之长补自己之短的案例出现。在嵌入式系统方面,由于Linux已经是主流嵌入式架构之一,针对这个架构所开发出来的嵌入式产品自然也要在图形用户接口花费相当大的心力。

  兼顾硬件的特殊性、功能的易用性、视觉美感等要素,这些皆是嵌入式系统GUI设计的重点,但是过去的图形接口设计并没有专门的设计人员来负责,而多由程序设计人员或者是美工人员兼差扛起,这些人没有接受过专业的人机接口设计,或者是想法太过一厢情愿,无法真正切合使用者需求。甚至,部分厂商干脆就直接抄袭国外大厂的接口设计,如此不尊重专业的结果,就是导致台湾在图形接口设计的经验累积与发展远远不及国外大厂。大陆方面其实也在走过去台湾走过的老路, 从抄袭,转而代工,自有设计少之又少。
设计图形用户接口的必要概念
  在PC上的各类图形用户界面的共同特点是以窗口管理系统为核心,使用键盘和鼠标作为输入设备。窗口管理系统除基于可重迭多窗口管理技术外,广泛采用的另一核心技术是事件驱动(Event-Driven)技术。图形用户界面和人机交互过程极端依赖视觉和手动控制的参与,因此具有强烈的直接操作特点。而在嵌入式系统上,不同规模的硬件架构对于图形接口的需求也各有不同,但基本理念仍然一致,那就是作为使用者与机器的有效沟通管道。
  由于目前多媒体的概念正风行,操作系统与用户沟通的方式从过去的纯文本、图形、到了现代,已经转变成动画、声音甚至3D影像的结合产物。这些结合多媒体概念的人机接口设计,在现代信息产品中扮演着极为重要的角色,由于人类对于讯息的感受最直接的就是视觉与听觉,结合了两大感官能力,可以进一步丰富信息内容与用户进行的交互作用。至于在操作应用方面,电视游乐器Wii所带来的崭新操作方式,也可以提供我们对将来下一代操作系统用户接口操作方式的另1层省思,摆脱过去鼠标与屏幕在操作上相对缺乏直觉的印象,可以利用动作感应与屏幕进行最直接的互动,将来甚至也可能透过脑波控制,直接利用脑波对操作系统进行操控。
  使用者与机器沟通的管道与方式随着科技的进步而增加,但基本上,人类在使用系统所提供的操作接口时,大多依靠的事日常生活所提供的经验来做判断,操作接口符合人性,越能达到直觉的目标,用户花在与机器沟通的训练时间就可以相对缩短,但是亲易近人之后,也要注意依照此方式所设计出来的操作接口是否拥有足够的深度,能够充分发挥硬设备本身的能力,因为一致性是非常重要的设计原则,为了要使用到更进阶的硬件机能就必须呼叫出不同的用户接口的话,那么这样的设计就无法维持其一致性,虽然可以应用到更完整的系统能力,但基本上并不能称为1款成功的用户图形接口。
操作系统的用户接口发展
  严格来说,真正将图形用户界面带入一般信息应用的,乃是Apple公司,诸如收拉式选单、图示、拖拉操作以及点击执行等概念,都是早在1980年代时就由该公司所开发构思出来的,其后Apple公司也持续在图形操作领域有非常多的进展,诸如微软、Linux等都只不过是这股风潮之下的追随者,其中微软算是在操作系统操作接口中,参考Apple公司最彻底的1家,从早先的Windows 3.x,到目前最新的Vista,处处都可以看到Apple公司操作系统的影子在。
  随着嵌入式系统的发展,用户也越来越注重装置上的操作简易性,在消费型行动设备上,美观更是成为视觉操作接口的设计要点之一,各家行动设备厂商在美感的发挥程度上各有不同,但是基本上都还是依循的既有的模式,比如说在手机接口设计上,常见的9宫格甚至12宫格操作模式就成为各主流手机接口的标准样版,收放式选单、图示以及超链接的概念也被彻底的实行。
台湾的代工思维 无法创造出像Apple公司产品的用户接口
  要在嵌入式系统的有限资源中做繁复的图形接口设计是一件非常不容易的事情,有时开发者为了省时省事,就只能建议项目领导者以实用为主,避免太多花俏的设计。不过创意依然是用户接口设计上的最重要元素之一,就以Apple公司的iPhone及过去的iPod为例,其实在技术层面上非常的简易,都只是现有技术的整合而已,但是为何台湾设计者办不到?为何台湾著名的手机产业及相关手持式装置也都只能沿用公版接口或只能沿袭旧有操作习惯?教育是问题之一,但主事者的态度也是关键,台湾并不缺乏这方面的设计人才,缺乏的只是宏观的态度以及长久的远见。
  由于硬件不断的发展与更新,因此未来的嵌入式系统在用户接口的设计上还是有非常大的发展空间,国内厂商若能好好的把握这块市场机会,积极培养人才,并且尊重专业,台湾便有机会可以脱离代工产业流血砍价拼规模的恶性循环,冲出红海的阴影,另辟一番蓝海新天地。
嵌入式Linux的应用方兴未艾
  嵌入式系统正以它体积小、专用性等特点深入社会应用的各个层次。在此领域中,嵌入式Linux在开发活力上,以及技术深度,可以说是目前嵌入式技术领域的领导者之一,除了有各大半导体、服务器端、终端硬设备厂商的支持以外,在开发难易度上,也因为具备了非常丰富的支持文件及社团资源,且操作系统本身不需授权费用,或授权费用相对低廉(端视不同厂商的授权方式),成本更显低廉,因此被嵌入式硬件厂商广泛采用。
  在特定嵌入式应用领域中,比如PDA、智能型手机、UMPC、工控计算机等嵌入式架构中,嵌入式Linux的图形用户界面的性能将直接影响整个系统的操作感受与流畅度,因此产品制造商和最终用户。如何针对用户的需求,在已有的图形用户界面上,订制和改进出具有特定功能的图形用户界面,是嵌入式系统开发者共同关注的问题。
嵌入式Linux图形用户界面的分类

  嵌入式系统往往是非常特化的硬设备,针对不同的应用,因此对图形用户界面的需求也会有所不同。有的系统只要求简单的图形功能,而有些系统要求完备的GUI能力支持。因此很多嵌入式系统需要自行定制的嵌入式图形用户界面。以下是几种常用的嵌入式图形用户界面及技术特性:

■MiniGUI

  图说:利用MiniGUI所设计出来的手机操作接口。
MiniGUI是在Linux控制台上执行基于SVGALib和LinuxThread6函式库的多窗口图形用户界面支持系统。MiniGUI 采用了类似Win32的API,实现了简化的类似微软窗口风格的图形用户界面。 MiniGUI也是1个窗口系统,它的主要组成元素是窗口,在这个基础上MiniGUI中的窗口可以基本分四类,分别为主窗口、对话框、控制组件和主窗口中的片段。
  MiniGUI中的主窗口和Windows应用程序的主窗口概念类似,MiniGUI中的每个主窗口对应于一个单独的线程,通过函式库存取可建立主窗口以及对应的线程。每个线程有一个消息队列,主窗口从这一消息队列中获取消息并由窗口过程(回调函数)进行处理。MiniGUI的目标是保持现有体积小巧的前提下,在Linux控制台上提供1个迷你窗口系统支持。〝轻薄短小〞是MiniGUI的最大特色。同时MiniGUI又将尽力与微软的 MSWindows API保持相容。这么定位是希望MiniGUI可以在未来以Linux 为基础的应用平台上,提供一个简单可行的 GUI 支持系统,让MiniGUI 可以应用在Windows CE系统可以应用的任何场合。

  ■Microwindows/Nano-X Windows System

  图说:利用Microwindows所设计出来的GUI接口。(数据源:www.devdrv.co.jp)
  Microwindows (已改名为Nano-X Windows System)是1个开放原始码的自由软件项目,最初是由台湾人所发展,支持多种平台。该项目的开发相当活跃,大陆也有人参与了其中的开发,并增加了GB2312等字符编码的支持。Microwindows的主要特色在于提供了相当完善的图形功能,包括如 Alpha 混合,3D支援,TrueType 字体支持等高级的功能。使得那些只有在具有大容量硬盘和内存配置的高阶Windows系统才能实现的窗口环境,如Microsoft Windows和X2Windows,可以在嵌入式设备上顺利运作。
  Microwindows从原理上采用分层设计的方法,每层次完成特定的功能,并且能够在不影响其它层次的基础上针对不同的应用进行改编或者重写。在最底层方面,显示屏幕、鼠标、触控屏幕等的驱动程序提供了与交互相关的硬设备的存取;中间层是1个精简的图形引擎,提供了划线、区块填充、多边形等多种基本的图形功能;最上层为图形应用程序提供了丰富的接口函式库(API),透过这些函式库可以自定义桌面和窗口的外观。目前Microwindows提供2套API,以便能够更好地适应不同平台应用程序的移植,即 与Win32/Win CE基本兼容的API以及采用X体系的Nano-X API。
  设备驱动程序的接口定义在device.h文件中。中间层所提供与设备无关的图形引擎就是透过存取设备驱动程序跟硬设备进行沟通。这就保证了当平台硬设备发生变化的时候,只需要改写相对应的驱动程序,而无需修改上层程序代码,简化了开发的流程。icrowindows提供基于Linux2.4.X内核的 FrameBuffer设备驱动程序。FrameBuffer在Linux系统中透过/dev/fb0设备档案进行工作,利用mmap()系统函式将显示换冲内存映像至系统内存中。
  Microwindows 能够在没有任何操作系统或其他图形系统的支持下运行,并且具有对无显示设备
阅读(430) (责任编辑:城市网)
关于我们 - 联系我们 - 网站荣誉 - 广告服务 - 版权声明 - 网站地图
Copyright© 2007-2018 bj1.com.cn 首都热线 版权所有 QQ:165687462
中国·北京 粤ICP备14047004号-20