minigui 是在 linux 控制台上运行的多窗口图形用户界面支持系统,可以在未来以 linux 为基础的应用平台上提供一个简单可行的 gui 支持系统。
“小”是 minigui 的特色,minigui 可以应用在电视顶置盒、实时控制系统、掌上型电脑等诸多场合。
下面是minigui的详细介绍:
一、minigui介绍 二、minigui应用前景 三、minigui技术文档
minigui介绍
视窗系列的操作系统虽然好用,但是在软件业微软却反开放大趋势之道,不向公众开放他的源代码。使得程序员只知其然,而不知其所以然。现在linux已经成为一个可以与微软的windows相抗衡的主要操作系统,成为计算机爱好者的宠物,同时也逐渐成为市场上众商家追逐的对象。既然如此,心动不如行动,我们何不在linux的平台上开发一个小型的gui产品呢?笔者已经在以前工作的基础上,开发了一个在 linux 控制台上运行的, 基于 svgalib 和 linuxthread 库的多窗口图形用户界面支持系统,我称之为minigui,在此基础上我们可以一起来完善这个系统,使之成为一个 真正小巧实用的工具。当然我们要完成的这个软件包将是完全遵从gnu精神,基于gpl协议的,也就是说是开放源代码的自由软件,希望能有更多的有识之士加盟。
那么minigui到底是什么呢?从我现在的开发工作来看,应该定义为:minigui 是 linux 控制台上运行的,基于 svgalib 和 linuxthread 库的多窗口图形用户界面支持系统。minigui 采用了类 win32 的 api 接口, 实现了简化的类 windows 98 风格的图形用户界面。 minigui也是一个窗口系统,他的主要组成元素是窗口,在这个基础上 minigui 中的窗口可以基本分四类,分别为主窗口、对话框、控件和主窗口中的窗片。minigui 中的主窗口和 windows 应用程序的主窗口概念类似, minigui 中的每个主窗口对应于一个单独的线程,通过函数调用可建立主窗 口以及对应的线程。每个线程有一个消息队列,主窗口从这一消息队列中获取消息并由窗口过程(回调函数)进行处理。 minigui的目标是保持现有小巧的特点,在 linux 控制台上提供一个小 的窗口系统支持,“小”是minigui的特色。同时minigui又将尽力于微软的 mswindows api保持兼容。这么定位是希望我们的minigui可以在未来以linux 为基础的应用平台上提供一个简单可行的 gui 支持系统,让minigui 可以 应用在 windows ce 可以应用的任何场合。
其实如果你是一个热爱写程序的程序员的话,恐怕都做过类似的工作,比如完成一个小型的窗口系统,或是写一些底层的画图函数库。写这些东西有时只是自己的兴趣,有时不过是为了完成一个老师布置的作业,既然如此我们何不真正的来写一个 比较有应用前景的minigui呢。我们以后可以将minigui用于各种需要一个小型gui功能的设备上去,或许是工业领域,或许是家用领域。所有这些用武之地难道非要等待windows ce来占领吗,为什么不去做一个属于我们自己的东西呢?也许minigui没有windows ce那么强大的功能,但是我们有自己的特色,更重要的是那是我们自己的代码。
--------------------------------------------------------------------------------
minigui应用前景
minigui 的应用前景是很明显的,就是为 linux 控制台提供一个简单可行的 gui 支持系统,minigui 可以应用在 windows ce 可以应用的任何场合, 例如:
上网机,或电视置顶盒;
实时控制系统;
个人电脑助理;
掌上型电脑;
等等,就让你自己去想象吧。
当然,minigui 仍然能够在普通的 linux 机器上运行,可作为一些小型游戏的支持平台,也可为控制台的小型应用提供图形界面支持,比如一个简单的文字录入程序、小型浏览器、证券资讯分析程序等等。 在 minigui 的开发过程中,应始终强调一个"小"字,因为这才是minigui 真正的特色所在。
minigui已经具备了最初的雏形,我们将在后面内容中公布我们已经完成的工作和minigui整体结构的介绍,也将为所有参加开放的人员提供 maillist 的联系手段,以方便我们之间的讨论。那么我们在minigui上还需要做一些什 么工作呢? minigui 的近期开发内容包括:
基于 linux 2.2 framebuffer 的 gdi(图形设备接口);
标准控件;
字体,包括 hbf 点阵字体和 ttf 字体支持;
多内码支持;
高级输入法支持。
同时,我们打算在 minigui 基础上开发出一些小型应用,可考虑的有:
终端仿真程序。编写类似 windows cterm 一样的 bbs 专用软件;
类似 chpower 的多字节字处理软件;
基于 gnu 开发工具的集成开发环境。
呵呵,看起来是有不少的工作,但是只要有你的参与,这些都将轻松搞定。--------------------------------------------------------------------------------
minigui技术文档
这里是 minigui 的概要设计说明书,word 文件(175kb)。minigui的网址: http://www.minigui.org
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器