Microwindows
Microwindows Open Source Project成立的宗旨在于针对体积小的装置,建立一套先进的视窗环境,在Linux桌面上通过交叉编译可以很容易地制作出micro-windows 的程序。MicroWindows能够在没有任何操作系统或其他图形系统的支持下运行,它能对裸显示设备进行直接操作。这样,MicroWindows就显得十分小巧,便于移植到各种硬件和软件系统上。
然而MicroWindows 的免费版本进展一直很慢,几乎处于停顿状态,而且至今为止,国内没有任何一家专业对 MicroWindows 提供全面技术支持、服务和担保的公司。
MiniGUI
图2 MiniGUI应用程序截图
MiniGUI是中国人做得比较好的自由软件之一,它是在Linux控制台上运行的多窗口图形操作系统,可以在以Linux为基础的应用平台上提供一个简单可行的MiniGUI支持系统。“小”是MiniGUI的特色,MiniGUI可以应用在电视机顶盒、实时控制系统、掌上电脑等诸多场合。由于这是由中国人自己开发的GUI系统,所以MiniGUI对于中文的支持最好。它支持GB2312与 BIG5字元集,其他字元集也可以轻松加入。界面如图2所示。
Pure X架构
Tiny X Server是XFree86 Project的一部分,由Keith Pachard先生所发展,而他本身就是XFree86专案的核心成员之一。一般的X Server都太过于庞大,因此Keith Packard就以XFree86为基础,精简了不少东西而成Tiny X Server,它的体积可以小到几百Kb而已,非常适合应用于嵌入式环境。
以纯X Window System搭配Tiny X Server架构来说,最大的优点就是弹性与开发速度,因为与桌面的X架构相同,因此相对于很多以Qt、GTK+、FLTK等开发的软件可以很容易地移植上来。
虽然移植方便,但是却有体积大的缺点,由于很多软件本来是针对桌面环境开发的,因此无形之中具备了桌面环境中很多复杂的功能。因此“调校”变成采用此架构最大的课题,有时候重新改写都可能比调校所需的时间还短。
OpenGUI
OpenGUI在Linux系统上已经存在很长时间了。最初的名字叫FastGL,只支持256色的线性显存模式,但目前也支持其他显示模式,并且支持多种操作系统平台,比如MS-DOS、QNX和Linux等,不过目前只支持x86硬件平台。OpenGUI分为三层: 最低层是由汇编语言编写的快速图形引擎;中间层提供了图形绘制API,包括线条、矩形、圆弧等,并且兼容Borland的BGIAPI;第三层用C++编写,提供了完整的GUI对象库。
OpenGUI采用LGPL条款发布。OpenGUI比较适合于基于x86平台的实时系统,跨平台的可移植性较差,目前发展较慢。
一点建议
综合上述GUI解决方案各方面的性能,归结起来有在国内有四种GUI较为适用,笔者对其做出推荐。
1.OpenGUI
由于基于汇编实现内核,并利用MMX指令进行了优化,OpenGUI运行速度非常快。它支持32位的机器,能够在多种操作系统下运行,主要用来在这些系统中开发图形应用程序和游戏。由于历史悠久,OpenGUI非常稳定,但是由于其内核用汇编语言实现,其内部使用的是私有的API,所以其可移植性较差,可配置性也较差。
|