您的位置:首页 > 编程语言 > Java开发

Eclipse组件的几个基本概念

2005-04-04 15:37 381 查看
[前言]
IBM是于2001年11月捐款4000万美元成立Eclipse,但是开放源工具组织Eclipse04年2月宣布,它将与新近成立的董事会一起组成一个非盈利机构。新董事会成员包括来自惠普、IBM、Intel、爱立信、MontaVista软件、QNX软件系统、SAP和Serena软件公司的代表。Eclipse是一个开发的可扩展框架,用户可以插件的形式对该框架进行扩展,在Eclipse中,一切都是插件。这种实现模式可以让不同厂家开发的产品实现无缝合并。
一、RCP
RCP(Rich Client Program)是Eclipse框架的一个很有用的编程模式。编写一个RCP程序,有几个基本的eclipse插件是必需的:org.eclipse.core.runtime、org.eclipse.osgi、org.eclipse.update.configurator,这是三个核心插件,用来实现eclipse的扩展框架。
插件org.eclipse.cor.runtime向外部提供了一个applications的扩展点,一个RCP程序就是从该扩展点扩展得到,用户的开发的RCP程序也是一个插件,启动时通过指定 application 参数来让装载器(startup.jar)启动你编写的插件。启动RCP程序时可以写一个简单的脚本即可,见后面的例子。
如果你的RCP程序是基于SWT库的话,则org.eclipse.swt插件也是必需的。SWT库是一套跨平台的java图形库,相对于awt和swing,它拥有更好的运行效率和更友好的界面。
SWT是一套跨平台的图形库,可以在多种平台(win32,gtk,motif等)下运行,在Eclispe中,SWT实现为一个插件(plugin),针对不同平台分别实现为一个片断(fragment),运行时,通过指定os,ws等参数的值来确定连接哪个片断。
RCP程序除了能够独立运行外,更重要的是能够自身进行扩展,为此,RCP程序必须向外部提供若干个扩展点,供其它的插件对自己进行扩展,提供的扩展点一般为菜单、工具栏、视图等,根据自己的需要来制定。
关于RCP程序的编写,www.eclipse.org上专门有一个栏目在讨论这个问题,并且有很多好的教程。
二、SWT
SWT是IBM开发一套跨平台的GUI开发框架(或开发工具包)。为什么问题导致了它失去主要的平台特性。换句话说,如果平台A有窗口组件1-40而平台B有窗口组件20-25,那么这个跨平台的AWT框架只能提供这两个集合的交集。
为了解决这个问题,Sun创建了一个新的框架使用模拟窗口组件(emulated widgets)来代替本地窗口组件(native widgets)。这个方法解决了LCD问题同时提供了丰富的窗口组件,不过也产生了其他的问题。例如,Swing应用程序不再和本地程序在样子上一致。虽然JVM有了很大的改善, 但是Swing应用程序仍然存在它们本地配对物所没有的性能问题。而且,Swing应用程序消耗了太多的内存,故不适合用于PDA和移动电话等小型设备。
IBM发现这些方法都无法满足他们的需求。因此,IBM创建了新的GUI库叫做SWT,它解决了AWT和Swing框架中的问题。SWT框架使用JNI访问本地窗口组件(native widgets),如果一个窗口组件在主机平台上不能获得,那么SWT会模拟这个不能获取的窗口组件。
三、CVS
CVS(Concurrent Version System)版本控制系统(或并行版本系统)是一种GNU软件包,主要用于在多人开发环境下的源码的维护。实际上CVS可以维护任意文档的开发和使用,例如共享文件的编辑修改,而不仅仅局限于程序设计。CVS维护的文件类型可以是文本类型也可以是二进制类型。CVS用Copy-Modify-Merge(拷贝、修改、合并)变化表支持对文件的同时访问和修改。它明确地将源文件的存储和用户的工作空间独立开来,并使其并行操作。CVS基于客户端/服务器的行为使其可容纳多个用户,构成网络也很方便。这一特性使得CVS成为位于不同地点的人同时处理数据文件(特别是程序的源代码)时的首选。

所有重要的免费软件项目都使用CVS作为其程序员之间的中心点,以便能够综合各程序员的改进和更改。这些项目包括GNOME、KDE、THE GIMP和Wine等。

CVS的基本工作思路是这样的:在一台服务器上建立一个源代码库,库里可以存放许多不同项目的源程序。由源代码库管理员统一管理这些源程序。每个用户在使用源代码库之前,首先要把源代码库里的项目文件下载到本地,然后用户可以在本地任意修改,最后用CVS命令进行提交,由CVS源代码库统一管理修改。这样,就好象只有一个人在修改文件一样,既避免了冲突,又可以做到跟踪文件变化等。
[后话]
分析家说,Eclipse从IBM公司中分离出来后,通过使包括IBM 竞争者在内的其件提供商更容易参加开放源软件的开发,能扩大该组织的潜在影响力。新Eclipse董事会也将需要考虑如何与正在进行Java标准化努力的Java推进协会(JCP)合作,以及是否与Java工具协会(JTC)合作的问题。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: