原文出处: http://www.dgdown.com.cn/Programming/Delphi/8705_4.html
前言
Linux可以说是IT业的一个奇迹,对于它的存在,任何一个业内人士都不敢等闲视之。目前,Linux面临的最大问题就是应用程序太少,不能满足各个领域使用者的需求,这是Linux很难战胜Windows的主要原因之一。虽然,随着许多公司和编程爱好者的加入,这种局面正在得到改观,但是,由于IT业一日千里的发展速度,Linux迫切需要一个高效的IDE(整合开发工具)。Windows的发展,导致了目前世界上使用最为广泛的编程语言――VB的产生。那么Linux的流行,又会产生什么呢?现在答案已经有了,那就是Kylix。
初识Kylix
Kylix是Borland公司的又一力作,Borland一直以Borland C++、Delphi、C++ Builder、JBuilder等系列开发工具著称,Kylix秉承了Borland完善的可视化IDE开发环境,强大的调试功能和丰富的VCL构件,简直就是一个Linux下的Delphi。Kylix的推出,对于Linux今后的发展,显然具有重要的意义。
Kylix集成了目前世界上最快速的编译器,可视化的GUI环境,WEB和数据库应用软件的开发,特点可概括为:高效的Linux内码应用软件(高效的执行代码、可重用的目标库、内置的汇编语言、动态调用库)、快速的IDE(开发环境)、代码自动生成和检查、先进的集成化调试 、完善的文档和帮助文件、强大的构件开发(提供CLX接口)、提供构件代码、、开放式的数据库接口等。 字串1
Kylix使得Windows上运行的许多程序可以移植到Linux上运行,用Kylix写成的Linux程序也可以在Windows上运行。它隐藏了编制Linux软件的复杂性,编程者们可以使用165个名叫CLX的软件组件更容易地制作菜单、按钮和连接数据库以及设计出其它的特征。Kylix的推出,对于一般用户而言,结果是显而易见的,即会用上越来越多优秀的Linux应用软件。
Delphi的继承者
对于专业程序员来说,要开发一个多平台的商业应用程序有很多种途径,但是它们实现起来都不太容易。所以,跨平台开发工具往往倍受关注,Java正是由于其平台无关性博得了广大程序员的青睐。
Kylix在进行商业开发时,给公司提供了一个易于学习且非常高效的开发环境。和Java一样,Kylix在用户界面、数据库、Web和网络功能方面为Linux的开发者提供了可以和Windows开发环境相媲美的丰富的函数库。由于和Delphi、 C/C++和 Visual Basic非常的相似,所以它对有经验的程序开发人员极具吸引力。Borland在Kylix里加入一些在标准Java里没有的功能,即优化原生代码编译器和RAD(rapid application development)环境。很显然,对于Delphi和Linux的开发者而言,Kylix是一个具有很大技术潜力的开发工具。
在商业应用上,Kylix在应用平台间面临着一些挑战。首先,Delphi开发人员要想将其应用程序移植到Kylix,就要将其代码润色得更加简洁,这是一件比较费时的事。其次,大多数Linux开发人员,他们已经在使用C++、Java和Perl开发应用程序,现在要转而使用Kylix,对他们来说,就意味着要学习一门新的开发语言,且要熟悉很多只能在Kylix中使用的库函数。这很有可能推迟他们选择使用Kylix的时间。不过有一点可以肯定,任何一个开发群体都很难抵御Linux环境下这一强大、快捷的开发工具,人们接受它,只是时间的问题。
推陈出新
我们知道,Turbo Pascal具有非常高效的编译器和全面的IDE(整合开发环境),它可以使一个Windows的使用者,在一夜之间成为一个可以进行程序开发的人员。Kylix和Delphi正是从它发展而来。
在那些使用C++或者Java进行开发的人看来,Pascal似乎显得过于陈旧。但是它之所以在那么长时间以来,一直受到公众的关注,是由于它集中了C的结构和表现力而又具有Basic的安全性。
Delphi程序员可以使用Object Pascal代码、Intel汇编语言、Microsoft的Win32 API和Borland的VCL (Delphi Visual Component Library)创建应用程序。而Kylix更是兼有了Delphi的灵活性和Linux的自由性。当然,要直接访问Win 32 API显然是不行了,VCL也被CLX(Borland新的、用于跨平台开发的库组件)所代替。
CLX组件主要由用户界面元素组成,在数据库方面包含对IBM的DB2、Oracle、MYSQL以及Borland自己的InterBase的直接支持。此外,Borland还捆绑了MyBase(一个常驻内存的XML数据库)。服务器版的Kylix包括一个NETCLX,它是一套用于创建Apache Web应用程序的组件。桌面版虽然没有NETCLX,但是带有源代码开放的TCP/IP套接字服务器和客户端组件。两个版本都包含优化的Object Pascal编译器、可执行的32位Linux原代码和共享库。
不凡的表现
在Pentium III 750MHz系统上进行测试时,Kylix只比Delphi的Windows IDE稍慢。在配备有NVidia GeForce2 图形加速卡的Athlon 1.2GHz机器上,它简直快得都要冒烟了。
乍一看,Kylix像一个不同凡响的、运行于Linux的Windows Delphi IDE。事实上,从上下文关联的帮助、华丽的代码编辑器和弹出式语法向导菜单到可下拉和拖拽的表单设计器,它的每一个细节都被重新改进。这对于从事跨平台开发的程序员来说,可以说是再合适不过了。之所以会这样,是由于Borland明智地采纳了开放源代码社区的建议,将Delphi转换成Kylix。
为了加速Kylix在市场上的步伐,Borland从CodeWeavers(一个致力于Wine的商业应用的公司)处寻求帮助。Wine应用程序是原生的Linux程序,不过它可以访问和Win32兼容的Wine库。也正是由于Wine,才使得Kylix少做了很多的工作。Wine项目为Linux开发人员提供了一套非常完整的源代码开放的Win32 API。在窗体的外表和感觉上,Wine给Kylix提供了很好的借荐。较那些纯粹的Java IDE而言,Kylix IDE的表现的确值得称道。
除了Wine以外,Borland还和另外两个开放源代码的倡导者有关系。它们是TrollTech(致力于Qt跨平台应用界面库)和Nevrona(致力于Indy TCP/IP组件库)。Qt可以在Linux和Windows下执行,所以非常适于Kylix的CLX界面。Indy组件则是由忠实于Borland的开放源代码社区开发的。 字串9
显而易见,Kylix开发者可以从Delphi已有的大量的源代码开放的程序中获益,不过这些现有的资源也不是全部可用。由于Delphi一直就是一个单一平台的语言,有的公共代码只能在Windows下使用,而有的则直接对PC硬件进行操作,所以大部分Delphi应用程序和库在转到Kylix时都需要进行一些改动,有的甚至需要很大的改动。不过有一点可以相信,作为Borland的源代码开放社区里的成员,将会毫无疑问地接受Kylix,并且投入到对Delphi现存流行的开放源代码项目进行转换的工作中。
对于编译器和Kylix的调试器,Borland却并没有简化操作。Kylix的Object Pascal编译器编译出来的代码,又小又快,这是一个完全从Delphi继承过来的功能。现在,该编译器已经完全内建到Kylix中。Kylix优化器可以使代码运行在所有的使用Intel CPU的Linux系统上,不过建议最好使用最新的Intel和AMD的处理器。和编译器一样,Kylix调试器已经紧密地融合到了Kylix IDE中,并且它只能用于Linux。它提供了断点设定,单步调试,函数调试,变量值显示,.SO调试,并行机制的调试,暂时处理的调试,调试精灵,事件列表,模块查看,CPU状态,内存读写断点,变量数值列表等功能。
Kylix是目前唯一可以产生原生 Linux代码的跨平台RAD开发环境。对于那些想把Windows应用程序通过开放源代码工具移植到Linux的人而言,Kylix IDE是一个很好的范例。
和Java的比较是不可避免的,不过Java是属于另外一种类型,它只有在跨平台和基于Web服务的方面和Kylix类似。Kylix的服务器版包含面向Apache Web服务器开发应用程序的组件。当然,就广度而言,Kylix目前远不如Java,它现在还不支持商业Unix平台,也没有一个企业中间件。而这一切在J2EE(Java 2 Enterprise Edition)里已经具备。和Kylix相比,Java的主要优势是轻便性和良好的企业信誉。Kylix的主要优势是性能和易用性,这在商业Linux开发工具中是非常难得的。用Kylix开发的应用程序周期短、运行时占用内存少且运行速度非常的快。
现在,Borland还有一些工作要做,比如进一步加强Kylix和现有Linux C/C++和Java代码的融合。鉴于Borland在Java和C++上的经验,可以想像在不久的将来,在Java应用程序里,一些对性能要求比较高的任务将可以由Kylix和Linux GNU C++来完成。
现在,如果要开发对性能有特定要求且又想在Windows和Linux两种环境下运行的应用程序,Kylix绝对是首选。如果公司正在开发Linux下的软件,或者想把Windows下的Delphi程序移植到Linux下,那么选择Kylix也是一个明智之举。
作为Linux环境下的第一个RAD(应用程序快速开发)环境,Windows下的开发者将会发现,学习使用Kylix将不是什么难事。
Delphi程序员:作为Delphi开发人员,在Linux下使用Kylix开发将具有得天独厚的优势。首先,Kylix的界面和开发者已经熟悉的Delphi界面非常相似,比较容易上手。此外,Kylix保留了和Delphi相同的工具集(包括表单设计、目标检测、调试器和编译器),甚至新的库组件CLX模块,也是从Delphi VCL发展而来的,所以用Delphi开发的程序移植到Linux比较容易。也就是说,开发人员把Kylix和Delphi结合起来,只需掌握一套基本的技巧和使用相同的基本代码,即可在Linux和Windows上开发跨平台的应用程序。
数据库开发人员:使用Kylix可以在Linux里实现基于Oracle和IBM DB2环境的高性能电子商务应用程序。通过高速dbExpress数据库驱动器,可以将现存的Oracle、 DB2、 InterBase和 MySQL数据库轻松地整合到应用程序里。使用Kylix提供的一套功能强大的数据仓库GUI组件,可以快速开发出数据中心应用程序。Kylix使用SQL Monitor、SQL测试和调试组件对数据库应用程序的性能和反应能力进行测试,通过Cached Updates提升服务器的响应能力。
Linux开发人员:由于其稳定性、灵活性和很低的价格,Linux已经被广泛地用于Web应用服务器,并且正在迅速成为代替Windows的桌面选择方案。但是Linux上传统的开发工具却不尽如人意,首先是它学起来比较困难,此外,相对于Windows下高效的开发工具,它显然急待改进。而现在,Kylix改变了这种局面。Kylix把RAD(Rapid Application Development)这一综合的开发环境引入了Linux,这极大地加快了Linux下应用程序的开发。
下图所示的是Kylix中对应以上三种开发的功能:
图1
VB开发人员:Kylix的编程模块和VB的事件驱动的可视化编程模块是相同的,所以,使用Kylix,VB程序员很快就可以在Linux里得心应手地编写程序,一如他在Windows里所做的那样。事实上,在Linux里,除了Kylix外,还没有一个编程工具能跟VB在可视设计、交互调试器、内码编译器、数据库、桌面应用等方面如此的接近。和VB不同的是,Kylix应用程序使用Kylix内置的内码编译器,速度非常的快,一分钟可编译4百万行语句。
综上所述,我们可以看出,Borland为了尽量吸引有经验的程序员投身其中,可谓用心良苦。同时我们也看到,Kylix的表现的确非常的出色,相信在未来的一段时间里,它一定会成为人们关注的焦点,并赢得它应得的成功。
商业应用:
Kylix是一个完整的RAD环境,较Java而言,它易于学习,并且编译产生的代码执行效率非常的高。可用于开发那些需要同时在Windows和Linux下运行且对性能非常敏感的应用程序。
技术应用:
Borland创造性地将开放源代码技术和它成熟的Object Pascal内码编译器和调试器结合起来。 Delphi应用程序通常需要直接访问Windows和硬件,所以将程序从Windows移植到Linux时,要尽量简化程序并且根据一定的规则进行。
优点:
- 快速的内码编译器
- 易于学习
- 很棒的用户界面,提供了TCP/IP和数据库组件
- 优秀的IDE革命性地使用了开放源代码技术
缺点:
字串4
-
与C++和Java的关联太差
-
使用了一门新的语言且使用的是专有的API
最低运行要求:
-
Intel Pentium 200 MHz (推荐P2 400 MHz)
-
64 MB RAM (推荐128 MB)
-
CD-ROM
-
175 MB(占用空间)
支持的Linux操作系统: 字串7
-
Red Hat 6.2或以上版本
-
Mandrake 7.2或以上版本
-
SuSE 7.0或以上版本