Eclipse

Eclipse是一款跨平台开源集成开发环境(IDE)。最初主要用来Java语言开发,目前亦有人通过插件使其作为C++、Python、PHP等其他语言的开发工具。

Eclipse的本身只是一个框架平台,但是众多插件的支持,使得Eclipse拥有較佳的灵活性,所以许多软件开发商以Eclipse为框架开发自己的IDE。

历史
Eclipse最初是由IBM公司开发的替代商业软件的下一代IDE开发环境,2001年11月贡献给开源社区,现在它由非营利软件供应商联盟Eclipse基金会(Eclipse Foundation)管理。2003年,Eclipse 3.0选择OSGi服务平台规范为运行时架构。2007年6月,稳定版3.3发布;2008年6月发布代号为Ganymede的3.4版;2009年6月发布代号为Galileo的3.5版;2010年6月发布代号为Helios的3.6版;2011年6月發布代號為Indigo的3.7版;2012年6月發布代號為Juno的4.2版;2013年6月發布代號為Kepler的4.3版;2014年6月發布代號為Luna的4.4版;2015年6月發布代號為Mars的4.5版。 最新版为2020年12月的4.18版。

架构
Eclipse的基础是富客户机平台(即RCP)。RCP包括下列组件:

*核心平台(启动Eclipse,运行插件)

  • OSGi(标准集束框架)
  • SWT(可移植构件工具包)
  • (文件缓冲,文本处理,文本编辑器)
  • Eclipse工作台(即Workbench,包含视图(views)、编辑器(editors)、视角(perspectives)、和向导(wizards))

Eclipse采用的技术是IBM公司开发的(SWT),这是一种基于Java的窗口组件,类似Java本身提供的AWT和Swing窗口组件;不过IBM声称SWT比其他Java窗口组件更有效率。Eclipse的用户界面还使用了GUI中间层JFace,从而简化了基于SWT的应用程序的构建。

插件
Eclipse的插件机制是轻型软件组件化架构。在富客户机平台上,Eclipse使用插件来提供所有的附加功能,例如支持Java以外的其他语言。已有的分离的插件已经能够支持C/C++(CDT)、PHP、Perl、Ruby,Python、telnet和数据库开发。插件架构能够支持将任意的扩展加入到现有环境中,例如配置管理,而决不仅仅限于支持各种编程语言。

Eclipse的设计思想是:一切皆插件。Eclipse核心很小,其它所有功能都以插件的形式附加于Eclipse核心之上。Eclipse基本内核包括:图形API(SWT/Jface),Java开发环境插件(JDT),插件开发环境(PDE)等。

框架的本质与极高的扩展性,使得厂商可以利用Eclipse作为平台开发各类IDE。甚至一些应用软件也是基于Eclipse的,如Oracle JDK自带的监控程序、Android SDK附带的设备监视工具DDMS。

Eclipse计划
Eclipse由各种不同的计划组成。以下列出了部分计划,更完整全面的列表[//www.eclipse.org/projects/ 在此](英文)。

  • Eclipse计划:本身包括Eclipse平台,Eclipse富客户端平台([//www.eclipse.org/rcp/ RCP])和Java开发工具([http://www.eclipse.org/jdt/index.html JDT])。
  • Eclipse测试和性能工具平台([//www.eclipse.org/tptp/index.html TPTP]):提供一个允许软件开发者构建诸如测试调试、概况分析、基准评测等测试和性能工具的平台。
  • Eclipse Web工具平台计划([//www.eclipse.org/webtools/index.html WTP]):用Java企业版Web应用程序开发工具来扩展Eclipse平台。它由以下部分组成:HTML、JavaScript、CSS、JSP、SQL、XML、DTD、XSD和WSDL的源代码编辑器;XSD和WSDL的图形界面编辑器;Java企业版的“项目性质”(project nature)、建构器(builder)和模型(model),与一个Java企业版的导航(navigator);一个Web服务(Web service)向导和浏览器,还有一个WS-I测试工具;最后是数据库访问查询的工具与模型。
  • Eclipse商业智能和报表工具计划([//www.eclipse.org/birt/ BIRT]):提供Web应用程序(特别是基于Java企业版的)的报表开发工具。
  • Eclipse可视化界面编辑器计划([//www.eclipse.org/vep/ VEP]):一个Eclipse下创建图形用户界面代码生成器的框架。
  • Eclipse建模框架([//www.eclipse.org/emf/ EMF]):依据使用XMI描述的建模规格,生成结构化数据模型的工具和其他应用程序的代码。
  • 图形化编辑器框架([//www.eclipse.org/gef/ GEF]):能让开发者采用一个现成的应用程序模型来轻松地创建富图形化编辑器。
  • UML2:Eclipse平台下的一个UML 2.0元模型的实现,用以支持建模工具的开发。
  • AspectJ:一种针对Java的面向侧面语言扩展。
  • Eclipse通讯框架([//www.eclipse.org/ecf/ ECF]):专注于在Eclipse平台上创建通讯应用程序的工作。
  • Eclipse数据工具平台计划([//www.eclipse.org/datatools/ DTP])
  • Eclipse设备驱动软件开发计划([//www.eclipse.org/dsdp/ DSDP])
  • C/C++开发工具计划([//www.eclipse.org/cdt CDT]):努力为Eclipse平台提供一个全功能C和C++的集成开发环境(IDE),它使用GCC作为编译器。
  • PHP开发工具计划([//www.eclipse.org/pdt PDT]):努力为Eclipse平台提供一个全功能PHP的集成开发环境(IDE)。
  • Eclipse平台COBOL集成开发环境子计划([http://www.eclipse.org/cobol COBOL]):将构建一个Eclipse平台上的全功能COBOL集成开发环境。
  • 并行工具平台([//eclipse.org/ptp PTP]):将开发一个对并行计算机架构下的一组工具进行集成的平行工具平台,而且这个平台是可移植的,可伸缩的并基于标准的。
  • 嵌入式富客户端平台([//www.eclipse.org/ercp eRCP]):计划将Eclipse富客户端平台扩展到嵌入式设备上。这个平台主要是一个富客户端平台(RCP)组件子集的集合。它能让桌面环境下的应用程序模型能够大致同样地能运用在嵌入式设备上。

版本
在Eclipse基金會及其項目和貢獻者社區,對我們經常被稱為協調調度版本同時發布,協同發布或發布列車的Eclipse。此頁面提供當前和前幾年現有同時發布的索引。

自2018-09發布以來,節奏從一個年度主要版本加上3個更新/服務版本變為帶有滾動版本的13週週期。

從2006年起,Eclipse基金會每年都會安排[//wiki.eclipse.org/Simultaneous_Release 同步發佈](simultaneous release)。

Eclipse基金會及其社區項目和貢獻者每年都會按照協調的時間表發布一個版本。 此版本通常被稱為Eclipse的同時發布,

協調發布,發布培訓或年度版本。 此頁面提供了當前和以前年份的現有同步發布的索引。

每個版本通常在6月份發布,並在9月份( .1),12月份( .2)和3月份(* .3)發布後續更新版本。

在Neon(4.6)之前,每個發行版在9月份(SR1)和次年2月份(SR2)發布了兩個服務版本。

參考資料
参閱

  • NetBeans 另一著名的开源多语言开发平台、IDE软件
  • IntelliJ IDEA 另一著名的商业Java IDE
  • WSAD IBM的商业Java IDE(WebSphare Application Developer)
  • Visual J++ Microsoft的商业Java IDE
  • JBuilder Borland的商业Java IDE
  • g-Eclipse

外部链接

评论 (0)

  • 还没有评论,来抢沙发吧。