本章将简要介绍Eclipse的历史和特点通过学习本章
好风光好风光恢复供货才
第1章 Eclipse简介
本章将简要介绍Eclipse的历史和特点。通过学习本章,能对Eclipse有一个大概的了解。
1.1 Eclipse的历史
2001年11月Eclipse诞生,但面世之初,它还很不起眼,未能受到太多关注。所谓万事开头难,软件的第一个版本大都比较稚嫩。2003年3月,Eclipse 2.1发布,由于它界面友好、功能强大,引起了轰动,世界各地的下载者蜂拥而至,导致它的下载服务器一度因超载而无法访问。
Eclipse最初是IBM的产品,后来IBM把它无偿捐献给了开源组织。最初,Eclipse的开发人员大部分来自于早年间与JBuilder苦苦竞争的Visual Age的项目组。而如今JBuilder已日薄西山,Visual Age却因蜕变成开放的Eclipse而愈发光芒四射,真是“江彩渐变图片
?
3? 第1章 Eclipse简介
山代有软件出,各领风骚七八年”。
Eclipse出而具独创性的平台特性及开放源代码的特点,吸引了众多大公司加入到Eclipse平台的发展上来,这些大公司有IBM、Borland、Oracle、Sybase和RedHat等。开源软件的蓬勃发展,更是强化了Eclipse作为开发工具方面的优势,如Spring、Struts等开源框架都会附带提供各自的Eclipse插件工具。
1.2 Eclipse的体系结构
Eclipse是一种通用工具平台——普遍适用的开放式扩展IDE。所谓普遍适用就是它不仅仅可以用来开发Java程序,也可以用来开发C/C++、PHP;所谓开放式扩展就是任何人都可以扩展Eclipse的功能。下面先来看看它的体系结构,如图1.1所示。
Eclipse的设计思想:一切皆为插件。Eclipse核心非常小,其他功能都基于此核心写成插件,这样的插件包括Eclipse的图形API(称为SWT/JFace)、Java开发环境插件(简称JDT)、插件开发环境(简称PDE)等。Eclipse还对这些插件的协同工作提供了良好的支持,不仅安
装简单,还可以无缝结合。
Eclipse对这些插件是动态载入并动态调用的。所谓动态就是指,Eclipse启动后要真正用到某个插件时,该插件才会被调入内存,当该插件不再被使用时,它就会在适当的时候被清除出内存。因此即使装了一大堆插件在Eclipse中,也不必担心某些不常用的插件白白消耗内存。
?4? Eclipse从入门到精通(第2版)
Java开发环 插件开发环 其他的第
境插件(JDT) 境(PDE) 三方插件
Eclipse图形界面
dedecms公司模板工作台(workbench)
JFace
SWT
jsp中文全称
Eclipse核心
工作空间(workspace)
运行时内核(runtime)
图1.1 Eclipse的体系结构
最初,Eclipse的插件机制是自己设计的,在OSGI成为动态插件机制方面的标准后,Eclipse按OSGI标准重新实现了自己的插件机制,并形成了一个独立的项目Equinox。Equinox是OSGI标准的一个实现,如果你也想像Eclipse一样用OSGI来设计自己的软件,可以将Equinox从Eclipse中拿出来单独使用。OSGI标准还在发展的过程中,属于比较前沿的东西,关于OSGI更详细的信息,可参阅国内开放文档组织OpenDoc的《OSGI实战》。
1.3 优秀的图形API:SWT/JFace
简单的静态网页设计代码Eclipse界面非常漂亮,如果不事先告之,可能看不出它是一个用Java写的IDE。如图1.2所示是Eclipse在开发中的截图。这里Windows XP用的是苹果主题,所以图1.2中右上角的按
钮和平常稍有不同,这也体现了SWT/JFace的一个优点:风格和本机保持一致。JFace是SWT的扩展包,采用MVC的设计,有时也把SWT/JFace简称SWT。
AWT/SWING(以后简称为SWING)是Java的标准图形API,但因为用它写的软件响应速度较慢,界面风格不符合Windows用户的审美习惯(这一点在SWING推出Windows XP外观后有所改变),故一直被人所诟病。
Eclipse的SWT则彻底地解决了这两个问题。主要原因是SWT与SWING在实现机制上有很大不同:SWING是模拟本机界面组件;而SWT则是直接调用本机界面组件,当本机没有所需组件时才进行模拟。这种实现机制上的差异必然决定了SWT速度更快,并且界面风格和本机一致。
当然SWT这种对本机界面组件的直接调用的机制也是有代价的,就是形成了与操作系统的耦合,失去了Java的跨操作系统特性。从而针对每种操作系统,SWT都需要做相应的移植。不过,使用SWT来开发桌面应用的人员不用担心,针对主流平台(如Windows、Linux、Unix、MacOS)SWT已经自己做好了移植工作。用户开发的桌面应用无需修改即可运行在
?5? 第1章 Eclipse简介
这些平台上。
另外要强调一点,Eclipse界面虽然基于SWT写就,但仍然可以用Eclipse来开发基于SWING的程序。
图1.2 Eclipse令人炫目的界面
insistent
1.4 开放式可扩展的IDE
Eclipse有极为强大的集成开发环境,它不仅集成了CVS、JUnit和Ant,并且有着绝佳的代码重构功能。Eclipse包含了一个Java开发环境插件(简称JDT),所以Eclipse默认就是一个和JBuilder类似的Java开发工具。但Eclipse又不仅仅是Java的开发工具,装上C/C++开发环境插件(简称CDT),就可以把Eclipse作为一个C/C++开发工具来使用。也就是说,只要有相应插件,Eclipse就可以作为任何语言的开发工具。
Eclipse的插件扩展机制是其最突出的特点和优势,它使Eclipse提升到了一个平台的高度。我们可以利用Eclipse的插件开发环境(简称PDE)来开发自己的Eclipse插件,随己所需地扩展Eclipse的功能。这样的插件形式是多种多样的,它可以是一种编程工具(如C/C++、JSP、PHP),也可以是一个桌面应用系统(图1.3所示就是用Eclipse插件方式开发的一个信息管理系统)。插件机制使得Eclipse具有了无限扩展的可能,Eclipse就像一个设计精巧的插花基座,我们可以在上面插上玫瑰、菊花、满天星,将Eclipse打扮得分外妖娆。
正是Eclipse这种开放式可扩展的特点,使Eclipse获得了成功,同时也为“开放者生、
?6? Eclipse从入门到精通(第2版)
闭锁者死”的生存哲学做了最好的注脚。
图1.3 一个信息管理系统(插件)
1.5 桌面应用程序的开发平台
桌面应用程序也可称为胖客端程序或GUI程序。用SWT可以像SWING一样开发独立的桌面应用,但这样无法利用Eclipse的插件机制,所以有些人就折衷了一下:把桌面应用写成Eclipse插件。不过,插件基于Eclipse运行,Eclipse原有的菜单和工具栏无法消除。如果你连Eclipse的那些菜单和工具栏均不想被软件用户看到,那么就要用到RCP平台。
RCP(全称Rich Client Platform)是在Eclipse 3.0之后分离出来的一个平台。在RCP平台上,可以使用Eclipse插件机制来快速开发独立的桌面应用,从而轻松拥有Eclipse的界面结构和界面元素,节省了很多开发精力。单从技术上讲,开发Java桌面应用,现阶段RCP平台是最佳选择。
就国内现状来说,Eclipse主要还是作为编程工具来使用,将Eclipse作为一个平台并在此平台上开发插件和系统的个人或公司还是非常少。其实,Eclipse的插件开发和RCP开发并不复杂,主要还是因为太缺乏这方面的资料。
1.6 全中文化的帮助文件
Eclipse帮助的内容很全面,并且在安装好多国语言包后,Eclipse帮助也全部中文化,如图1.4所示。国外软件不要说中文帮助,就是将软件本身中文化的都很少,如JBuilder就一直是全英文的。仅从中文化这一点,就可以看到Eclipse对于中国用户的友好性。
?7? 第1章 Eclipse简介
图1.4 全中文化的帮助
c语言大学教程1.7 Eclipse是开放源代码的免费软件
在2005年,相信很多IT公司都因为公司或个人使用了盗版JBuilder而收到Borland公司的律师函。现在很多大型公司的开发部门都转向使用Eclipse,一个主要原因就是Eclipse是开放源代码的免费软件。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。