2.Qt/Embedded
这个版本的主要特点是可移植性较好。因为Qt是KDE等项目使用的GUI支持库,所以许多基于Qt的X Window程序可以非常方便地移植到Qt/Embedded版本上。因此,自从Qt/Embedded以GPL条款发布以来,就有大量的嵌入式 Linux开发商转到了Qt/Embedded系统上,如韩国的Mizi公司。但是,由于它是基于C++类库的,所以和其他GUI相比系统消耗资源较大。因此说Qt/Embedded是肥美型的产品,功能丰富,一般用于手持式高端信息产品。
3.MiniGUI和Micro-Windows的比较
MiniGUI和MicroWindows均为自由软件,但这两个系统的技术路线却有所不同。MiniGUI的策略是建立在比较成熟的图形引擎之上,比如Svgalib和LibGGI,开发的重点在于窗口系统、图形接口之上。而 MicroWindows的开发重点则在底层的图形引擎之上,所以可以对裸显示器直接操作,而窗口系统和图形接口方面的功能还稍有欠缺。比如说, MiniGUI有一套用来支持多字符集和多编码的函数接口,可以支持各种的字符集,包括GB、BIG5、UNI-CODE等,而MicroWindows 在多字符支持上尚没有统一接口。
X Window System的分层架构
● X Server
X Window System架构上有一项特点是别的GUI系统所没有的,这个特点就是Client/Server架构,注意这里和一般我们所熟知的某某服务器(Server端)跟PC端(Client端)相连接的情形是不同的。惟一类似的是X Window System本身也是采用网路架构设计。具体而简单一点的说明就是,X Client可以看作我们在X上执行的软件,X Server则是负责显示及传递使用者输入事件(包括键盘、鼠标等硬件装置的输入)。
● Graphic Library
我们可以把一幅图案想象成有成千上万个细微小点所组成,这种小点的单位通常为 pixel,在同一平方单位里这些小点数越高图案就越清晰、画质就越好,也就是说分辨率或解析率高。事实上我们要设计的视窗当然不可能是这样一点一点地画上去的,这样太过浪费时间,基于这种观念我们就设计出高阶一点的函数来帮助我们解决这个繁琐的步骤,例如各类视窗编程里用到的画点、画线、画矩形、画圆形、画不规则形、上色等函数。透过这些函数是的程序设计者不用去管画一条线要几个点以及如何让显示器显示等林林总总低阶的工作,我们称绘图相关的一组函数库为GUI的基本Graphic Library。
● Toolkits
有了点、线、面的函数之后,虽然已经去除了大半的重复无聊工作,但是就开发视窗程序来说,还是显得非常没有效率,怎么办呢?只有继续将构成视窗的抽象元件,如按钮、卷轴、组合框等各类控件抽离出来,重新定义一组更高阶的函数库,在配合上联系的语法函数就成立Toolkits这类的东西,目前流行的有QT、GTK+等。
● Window Manager
有了Toolkits,我们可以很轻松地建立视窗模块(X Client),但是每个视窗模块只负责自己模块内的事务,那么不同视窗间的沟通、协调,例如视窗的切换、放大、缩小等,就没有模块管理了,于是视窗管理员(Window Manager)就应运而生了。
● Internationalization
国际化通常是我们东方语系国家的人比较关心的议题,但是很多软件一开始都由西方国家所主导开发,因此这点常常受到忽略,这个问题牵扯的层面很多,上从语言的显示、输入、中止语言习惯,下到文字位元的处理,完整的解决是必须从头到脚彻底配合才能达成,只处理一半都只能说是一个蹩脚的系统。
随着东方国家使用GUN/Linux的人口越来越多,I18N(i- eighteen-letters-n的缩写)也日益受到重视,目前底层libc部分已经有完整的支持,剩下来便是GUI系统的问题,由于处理双位元所耗的资源较大,西方国家主导的系统很多情况下,经过一些取舍,I18N就被牺牲掉了,整体而言Embedded Linux GUI系统在I18N的程度通常都没有PC端的好,只有在需求时才会使用。
(参考链接: http://linux.ccidnet.com/art/310/20070210/1021643_1.html)
|