上个月23号Eclipse基金会发布了最新的Eclipse太阳神版本,囊括了39个项目,下面我们就来看看哪些项目是最受Eclipse开源社区喜欢的。Eclipse最初是一个Java IDE,但后来变得越来越强大,早已超出了IDE的范畴,截至目前,Eclipse可支持静态和动态编程语言,胖客户端、瘦客户端和服务器端框架,建模和业务报表,嵌入式和移动开发,Eclipse包含的项目和子项目已经超过125个,本文将为大家列举其中25个最佳,最闪亮,最受欢迎的Eclipse项目,注意列表本身不分先后顺序。 1、Eclipse建模框架(Eclipse Modeling Framework ,EMF) EMF是Eclipse社区的核心框架和代码生成工具,允许开发人员创建以结构化数据建模为基础的应用程序。
图 1 Eclipse建模框架标志 2、Xtext Xtext是一个相对较新的项目,但在特定语言领域很快就流行开来,使用Xtext你可以创建你自己的编程语言和特定领域的语言(Domain-Specific Languages,DSL),它支持开发语言基础设施,包括编译器、解释器,以及完整的基于Eclipse的IDE集成。
图 2 Xtext语言开发框架标志 3、CDT CDT项目提供了一个完整的基于Eclipse平台的C/C++集成开发环境,在非Windows世界,CDT已经成为事实上的C/C++ IDE标准,大部分嵌入式厂商和Linux发行商都使用CDT作为他们的IDE。
图 3 Eclipse CDT项目标志 4、PDT(Eclipse PHP开发工具) PDT项目为Eclipse平台提供了一个PHP开发工具框架,它包含开发PHP应用需要的所有组件,并可以进行扩展,PDT利用了现有的Web工具平台(Web Tools Platform,WTP)和动态语言工具包(Dynamic Languages Toolkit,DLT),它很快就成为Eclipse社区最流行的IDE之一。
图 4 Eclipse PDT项目 |
Mylyn是为Eclipse提供了任务和应用程序生命周期管理框架,在过去3年里,Mylyn已经成为许多敏捷ALM厂商的中心或集成点,Mylyn有超过45个不同的连接器,支持将不同的ALM工具连接到它独特的任务透视图。
图 5 Mylyn任务列表示例
6、BIRT(商业智能和报表工具)
BIRT是一个开源的,基于Eclipse的报表系统,可直接集成到Java/J2EE应用程序生成各种报表,它提供了核心的报表功能,如报表布局,数据访问和脚本,BIRT在Java开发世界中已经成为一个流行的报表解决方案。
图 6 BIRT报表示例
7、Web Tools/Java EE Tools/Eclipse Java开发工具 (JDT)
Eclipse仍然是Java开发人员的标准工具,如果你准备创建一个Java应用程序,可以结合使用JDT和Web Tools或Java EE Tools。
图 7 Web Tools平台
8、Equinox
Equinox是OSGi R4核心框架规范实现,它实现了各种可选的OSGi服务和其它运行基于OSGi的系统的基础设施,Equinox是核心OSGi运行时框架,也是Eclipse平台的心脏。
图 8 Equinox
9、Jetty
Jetty是提供了HTTP服务器,HTTP客户端和javax.servlet容器的开源项目,它是非常流行的Web服务器和servlet容器,Yahoo Hadoop集群,Google AppEngine和Zimbra都嵌入了Jetty,Jetty还支持Web Sockets,OSGi,JMX,JNDI,JASPI,AJP和其它集成。
图 9 Jetty配置
10、Eclipse富客户端平台(Eclipse Rich Client Platform ,RCP)
Eclipse RCP是一个构建和部署富客户端应用程序的平台,它包括了Equinox,可以原生支持将GUI应用程序部署到多种操作系统桌面,如Windows,Linux,MAC OS X,并集成了桌面客户端自动升级机制,可从中央服务器快速部署桌面应用程序,RCP广泛用于企业级应用平台。
图 10 Eclipse RCP示例
11、Eclipse富Ajax平台(Eclipse Rich Ajax Platform ,RAP)
Eclipse RAP将RCP带到Web,它在众多Eclipse项目中的势头非常强劲,RAP允许你使用Eclipse开发模型,插件和著名的Eclipse工作台扩展,以及SWT API构建富Ajax Web应用程序,现有RCP程序只需稍作改变就可以Web应用程序方式运行。
图 11 Eclipse RAP示例
12、Eclipse通信框架(Eclipse Communication Framework ,ECF)
RCP是一个支持Eclipse分布式开发的框架,它可以用于创建其它插件、工具或需要异步点到点或发布订阅消息功能的RCP程序。
图 12 ECF配置
13、Eclipse图形编辑框架(Eclipse Graphical Editing Framework ,GEF)
图形编辑框架(GEF)允许开发人员使用现有应用程序模型快速创建一个丰富的图形编辑器,GEF由两个插件组成,org.eclipse.draw2d插件为图形显示提供了一个布局和渲染工具包,开发人员可以使用GEF中提供的许多常见操作,当然还可以进行扩展。
图 13 Eclipse 3D示例
14、Eclipse插件开发环境(Eclipse Plug-in Development Environment ,PDE)
插件开发环境(PDE)提供了创建,开发,测试,调试,构建和部署Eclipse插件的功能,PDE也提供了广泛的OSGi工具,不仅可进行Eclipse插件开发,还使它成为理想的组件编程环境。
图 14 Eclipse插件开发环境
15、eGit版本控制
下面介绍的这些项目都是些最近才成为开发人员之间流行的项目的,首先介绍eGit版本控制系统,它是Git版本控制系统的Eclipse版本,Git是一个分布式的SCM系统,所有开发人员都拥有代码的所有历史修订版本,因此查询历史版本非常快速和灵活。eGit项目是在Git的Java实现JGit项目之上实现的,Git越来越受到欢迎,eGit是Eclipse的一个新项目,有了它之后,Eclipse和Git之间就紧密集成到一起了。
图 15 Eclipse也可以向Git仓库提交代码了
16、e4 Eclipse孵化器
E4项目是Eclipse 4.0的孵化器,它是在当前的Eclipse版本和OSGi技术基础之上构建的,它的主要目标包括:使编写插件变得更容易,更好地控制软件的外观。实际上,e4是下一代Eclipse平台的代号,它将使构建和组装基于Eclipse的应用程序更加容易。
图 16 e4的新标志
17、Virgo
Virgo项目是2010年作为“动态企业应用平台”启动的,项目的目标是为开发服务器端企业应用程序提供一个运行时平台,它是以SpringSource dm服务器为基础的新Eclipse项目,它是一个基于Equinox和OSGi组件模型的轻量级应用程序服务器,EclipseRT中的Virgo Web服务器是一个完全基于模块的Java应用程序服务器,它设计为运行具有良好弹性和可靠性高的企业Java应用程序和Spring应用程序。
图 17 Virgo标志
18、Gemini
企业模块化项目Gemini是Java EE技术的模块化实现,它为用户提供了按需使用独立模块的功能,不需要额外的运行时组件,Gemini实现了许多OSGi企业级规范。
图 18 Gemini标志
19、内存分析器(Memory Analyzer ,MAT)
Eclipse内存分析器是一个快速的,功能丰富的Java堆栈分析器,帮助开发人员查找内存泄露,减少内存消耗,内存分析器正成为Java开发人员之间流行的一个工具。
图 19 使用内存分析器分析Java堆栈问题
20、连接数据对象(Connected Data Objects ,CDO)
CDO是一个分布式共享EMF模型和快速服务器对象关系(O/R)映射解决方案,使用CDO,你可以轻松地增强你现有的模型,以一种节省资源透明度的方式将变化应用到关系数据库,CDO是一个EMF模型模型库,它为大规模应用程序使用EMF提供了扩展和事务处理能力,CDO提供了3层架构支持基于EMF的客户端应用程序,并包含一个中央模型仓库服务器,可利用不同类型的可插入式数据存储后端,如关系数据库,对象数据库和文件系统。
图 20 CDO模型仓库标志
21、Eclipse设备软件开发平台项目(Eclipse Device Software Development Platform Project,DSDP)
Eclipse设备软件开发平台项目(DSDP)是一个开源协作开发项目,致力于提供一个可扩展,基于标准的平台,以解决使用Eclipse平台开发设备软件的需要,DSDP是一个顶级容器项目,包括多个独立的嵌入式和移动领域的子项目,如Blinki,Device Debugging,Mobile Tools for Java,Native Application Builder,Real-Time Software Components(RTSC),Squoyah,Target Management和Tools for Mobile Linux。
图 21 RTSC项目标志
22、Eclipse并行工具平台(Eclipse Parallel Tools Platform ,PTP)
Eclipse并行工具平台旨在为并行应用程序开发提供一个高度集成的开发环境,该项目提供了一个标准的,便携式并行IDE,支持大量的并行架构和运行时系统,拥有可扩展的并行调试器,支持与各种并行工具集成,简化了终端用户与并行系统的交互。
图 22 Eclipse并行开发调试
23、Higgins项目
Higgins是一个开源的身份识别框架,旨在让个人对他们的个人身份,个人配置信息和社交网络数据有更多的控制权,Higgins项目团队成员说:“我们认为人们对自己的信息应该拥有更多的控制权,因此我们创建了一个助手,帮助你管理你的网上身份信息,可以方便地管理你的凭据(密码,OpenID和InfoCard),控制你的个人数据与你信任的朋友和组织分享”。
图 23 Higgins项目标志
24、JavaScript开发工具
JavaScript开发工具提供了一个IDE插件,支持JavaScript应用程序和Web应用程序中JavaScript的开发,它给Eclipse工作台增加了一个JavaScript项目类型和投视图,以及大量的视图,编辑器,向导和生成器。
图 24 Eclipse JavaScript开发工具和SDK
25、Eclipse市场
Eclipse为Eclipse社区提供了一个方便的门户,帮助用户查找Eclipse相关的开源和商业产品,新的市场客户端使用户更方便地下载和安装各种工具。
图 25 Eclipse市场