KDE早于Gnome出现,但是KDE基于的Qt是不遵循GPL开源协议的,Qt是一个跨平台的C++图形用户界面库 ,它是挪威TrollTech公司的产品(2008年底被NOKIA收购)。 Qt具有优良的跨平台特性(支持Windows、Linux、各种UNIX、OS390和QNX等)、面向对象机制以及丰富的API,同时也可支持2D/3D渲染和OpenGL API。在当时的同类图形用户界面库产品中,Qt的功能最为强大.但底层的基础 Qt却是一个不遵循GPL的商业软件,这就给KDE上了一道无形的枷锁并带来可能的法律风险。一大批自由程序员对KDE项目的决定深为不满,它们认为利用非自由软件开发违背了GPL的精神。于是这些GNU的狂热信徒兵分两路:其中一部分人去制作Harmonny,试图重写出一套兼容Qt的替代品,这个项目虽然技术上相对简单,但却没有获得KDE项目的支持;另一路人马则决定重新开发一套名为“GNOME(GNU Network Object Environment)”的图形环境来替代KDE。
GNOME选择完全遵循GPL的GTK图形界面库为基础,因此我们也一般将GNOME和KDE两大阵营称为GNOME/GTK和 KDE/Qt。与Qt基于C++语言不同,GTK采用较传统的C语言 ,虽然C语言不支持面向对象设计,看起来比较落后,但当时熟悉C语言的开发者远远多于熟悉C++的开发者。加之GNOME/GTK完全遵循GPL版权公约,吸引了更多的自由程序员参与。
四、linux/unix基于X window的图形显示处理原理
X Window从逻辑上分为三层:最底层的X Server(X服务器)主要处理输入/输出信息并维护相关资源,它接受来自键盘、鼠标的 *** 作并将它交给X Client(X客户端)作出反馈,而由X Client传来的输出信息也由它来负责输出;最外层的X Client则提供一个完整的GUI界面,负责与用户的直接交互(KDE、Gnome都是一个X Client),而衔接X Server与X Client的就是“X Protocol(X通讯协议)”、它的任务是充当这两者的沟通管道。尽管UNIX厂商采用相同的X Window,但终端的X Client并不相同。
五、Qt、GTK 和KDE、GNOME的关系
简单来说:为了方便开发人员编写X clients,就有了Xlib来封装X协议;Xlib还不够方便,于是就有了qt和gtk,它们提供了很多窗口控件(widgets)。
为了方便用户 ,就出现了gnome和kde等桌面管理系统。一般来说,linux用户看到的界面就是其中之一了。gnome用的是gtk库,kde用的是qt库
性,近年来脱颖而出,一举成为全球各地快速增长的 *** 作系统,市场占有率几欲与Windows平台一争高下。Linux应用范围从Web服务器、防火墙一直到快速缓存的网页服务器,已经走出科研实验阶段,开始步入关键业务领域。然而运行在Linux下的应用软件偏少,让诸多用户对此平台犹有疑虑。其实并不能怪软件厂商和程序开发者的惫懒。用于Linux平台得心应手的开发工具匮乏,使开发效率降低。如今,Kylix3的出现,有望使这种状况彻底改变。从其近期产品发布会上,人们争相要求得到试用版的热闹场景可见一斑。RAD原来有历史
大多数Linux发放版本,自身捆绑了诸如Java、Gcc、Perl、Python等常用开发工具。然而遗憾的是多数还处在字符界面的命令行状态下,需要设置大量参数编译、调试,对于像企业级应用和团队开发,则更是难上加难。
Windows环境的快速开发工具(RAD),像Borland的C++ Builder、Delphi等可视化开发环境,通过简单的用户界面设计、方便的拖拽式开发,促成了Windows平台应用软件的极大丰富。为帮助Linux软件开发人员提高效率,2001年,Borland将在Windows平台上获得成功的Delphi,移植到Linux平台,推出Kylix。
如果说,Kylix2还是将Delphi从Windows搬到了Linux,那么最新推出的Kylix3则进一步整合了高性能的C++Builder及Delphi程序语言,为Linux平台开发者提供了一个快速开发电子商务应用的解决方案。据称,无论是建立图形用户界面、数据库或是Web及Web Services应用程序,Kylix3都将带来更快速、更简单的使用经验。
似曾相识的C++ Builder
Kylix3具有Windows 平台下C++ Builder程序开发人员熟悉的工作界面,并同时支持ANSI/ISO C++标准,在结合应用软件设计与开发环境中,Kylix3整合了多种可视化设计工具,内包含Borland CLX组件库,结合CodeInsight技术的编辑器,配合图形调试器和内码编译器,功能经过调整,可以快速开发包括数据库、用户图形界面及Web services程序在内的各类Linux平台应用。
Borland 跨平台组件库(CLX)提供了数百个可重复使用、定制化、自由拓展的组件和类,方便C++Builder或Delphi编程人员快速开发应用程序。由Kylix 3开发的基于Linux的应用程序,将其源代码经C++Builder或Delphi重新编译之后即可在Windows环境下顺利执行,提高了应用程序的可用性。而跨Web服务器的兼容性,使专为Apache开发的服务器端应用程序,在Windows平台经过编译后,可供MS IIS、Apache、Netscape等不同Web服务器使用。
可视化C++编译环境和组件式的开发方式,使原本对Linux平台不熟悉的开发者,也能够顺利进行开发,从而大大缩短产品进入市场的时间。
Web Services的三大利器
今天,Web services已成为全球电子商务的主要手段。任何一个应用解决方案,只要通过Internet连接,就可以整合分布全球不同环境中的资源。Kylix 3拥有三大法宝可以使得用户的应用解决方案建立和使用Web services。
BizSnap是Kylix的Web Services开发平台,应用业界通用标准SOAP/XML,提供整合B2B的Web services,将Linux *** 作系统和Apache服务器能力延伸到电子商务、XML与Web services应用领域,并无缝连接到各类支持Web Services的应用系统。
WebSnap是Kylix以组件为基础的Web 应用程序开发平台,将Apache Web服务器变成数据库驱动的企业级Web应用程序服务器。配合HTML制作环境、可视化工具以及组件结合方式,WebSnap使开发者能够快速开发Web应用程序并整合到企业门户中。
DataSnap则遵循分布式计算标准,将已有电子商务的企业数据库、应用和对象完美集成,是建立高扩展性、企业级数据访问的中间件解决方案。通过DataSnap可以建立高性能的多层数据库应用系统。
多种技术应用,使得Linux应用程序和企业数据库紧密结合,从而实现Linux平台下电子商务解决方案的大促进。
建议:1. 以Redhat Enterprise Linux 5 (RHEL5)为例,系统支持多种编程语言,主要看你习惯那种编程语言,不过个人推荐:C/C++语言进行编程;
2. 推荐图书:
2.1. 《Linux系统与网络服务管理 技术大全(第二版)》杨明华 谭励等编著 电子工业出版社 79元 含光盘一张;
2.2. 《Linux系统管理与网络管理》 余柏山等编著 清华大学出版社 89元 含光盘一张。
读完这两本书,基本上就够用了。
建议:
1. 最好在系统中先安装VMware虚拟机,然后在虚拟机中安装Redhat Enterprise Linux 5等Linux系统;
2. 在虚拟机的Linux系统中进行各种测试,这样就算有问题也没有什么关系。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)