一直认为Linux GUI system 是它的一块短板,如果你用WINCE,基本上都会用windows 本身的 GUI,用MFC来开发。但是当你采用Linux的时候,你选择什么呢?
在Linux桌面,GUI system有两类,GTK 和QT , 于之对应的桌面系统是GNOME和KDE . 他们都基于X-window系统。
之前我用过GTK/X,X server 用的是Framebuffer ?发现在嵌入式系统里实在是比较庞大,性能也不理想。GTK相关的延伸有:
1. GTK+/Tiny-x (因为X是在是庞大,改用tinyX)
2. GTK+/DirectFB (它跳过framebuffer直接和硬件打交道,可以使用显卡的加速功能).
3. GTKFB (它跳过X,直接和Framebuffer打交道,单进程)
4 GTK+/X
笔者还用过Fltk, Fltk是个跨平台的,目前FTLK支持MacOS、Windows、Linux(x-window)等平台,所以对于不熟悉Linux的开发者,通过VC,很快就可以熟悉Fltk .
Fltk 可以和X window 配合, 也可以通过Fltk +nanolib+nano-x(以前叫MicroWindows,Microsoft不同意).
缺点是: 1.3 版本代码比较混乱,不支持unicode .
2.0版本支持unicode ,但是还没有release
只适合简单的GUI系统,面对有复杂界面的消费电子,不合适。
MiniGUI也是一个选项,我以前把MiniGUI porting到 S3C2440板上,性能还不错,也非常小,适合做小的
嵌入式系统.minigui公司还推出基于miniGUI的web brower (engine也是基于webkit上修改)
后来我采用Qtopia ,采用Qtopia ,开发起来比较快,C++. Qtopia 基于QT embedded ,它也是Server/Client结构,但抛弃了X lib,仅采用Framebuffer 作为底层图形接口.
{BANNED}中国第一个GUI Application 将建立QWSServer实例.
不过Qtopia也不小,大概30M.也要经过裁减和优化.
阅读(1272) | 评论(0) | 转发(0) |