集成开发环境 Eclipse 开源十周年

jopen 12年前
     <p>2001年11月,IBM<a href="/misc/goto?guid=4958197606044188278">开源了</a>它的通用组件开发框架<a href="/misc/goto?guid=4958197606788662341">Eclipse</a>。Eclipse基金会在它的<a href="/misc/goto?guid=4958197607525829614">EclipseCon Europe 2011</a>会议上庆祝了<a href="/misc/goto?guid=4958197608261375550">开源十周年</a>。 IBM开发Eclipse的核心团队来自于它在1996年收购的公司Object Technology International(OTI),OTI开发了Smalltalk和Java的集成开发环境VisualAge,因此Eclipse第一个重量级应 用是它的Java IDE,也就不出人意料了。<img title="eclipse.png" border="0" alt="eclipse.png" align="right" src="https://simg.open-open.com/show/fed9aff4ac6922c9f65bc823221c20c0.png" width="90" height="90" /></p>    <p>Eclipse基金会声称Eclipse占据了65%的Java IDE市场。Eclipse基金会执行董事Mike Milinkovich认为,IBM的开源决定是一次<a href="/misc/goto?guid=4958197608996670379">革命性的举措</a>,十年前软件开源协作开发还是十分新颖的想法。Eclipse的成功展示了开源模式的优势。</p>    <p> </p>    <div id="p_fullcontent" class="detail">     <p><a href="/misc/goto?guid=4958197609720738474" target="_blank"><strong>Eclipse</strong></a>是著名的跨平台的自由集成开发环境(IDE)。最初主要用来Java语言开发,但是目前亦有人通过插件使其作为其他计算机语言比如C++和Python的开发工具。</p>     <p><img title="20081250_36s0.png" border="0" alt="20081250_36s0.png" src="https://simg.open-open.com/show/aa51bd2a04d659e2d310bb3fee5346e2.png" width="500" height="304" /></p>     <p>Eclipse的本身只是一个框架平台,但是众多插件的支持使得Eclipse拥有其他功能相对固定的IDE软件很难具有的灵活性。许多软件开发商以Eclipse为框架开发自己的IDE。</p>     <p>Eclipse最初是由IBM公司开发的替代商业软件<span class="new">Visual Age for Java</span>的下一代IDE开发环境,2001年11月贡献给开源社区,现在它由非营利软件供应商联盟<span class="new">Eclipse基金会</span>(Eclipse Foundation)管理。 2003年,Eclipse 3.0选择OSGi服务平台规范为运行时架构。 2007年6月,稳定版3.3发布。2008年6月发布代号为Ganymede的3.4版。</p>     <p>Eclipse的基础是<span class="new">富客户机平台</span>(<span class="new">Rich Client Platform</span>, 即<span class="new">RCP</span>)。RCP包括下列组件:</p>     <ul>      <li>核心平台(启动Eclipse,运行插件)</li>      <li>OSGi(标准集束框架)</li>      <li>SWT(可移植<span class="mw-redirect">构件工具包</span>)</li>      <li><span class="new">JFace</span>(文件缓冲,文本处理,文本编辑器)</li>      <li>Eclipse工作台(即Workbench ,包含视图(views)、编辑器(editors)、视角(perspectives)、和向导(wizards))</li>     </ul>     <p>Eclipse采用的技术是IBM公司开发的(SWT),这是一种基于Java的窗口组件,类似Java本身提供的AWT和Swing窗口组件;不过IBM声称SWT比其他Java窗口组件更有效率。Eclipse的用户界面还使用了GUI中间层JFace,从而简化了基于SWT的应用程序的构建。</p>     <p>Eclipse的插件机制是轻型软件组件化架构。在富客户机平台上,Eclipse使用插件来提供所有的附加功能,例如支持Java以外的其他语 言。 已有的分离的插件已经能够支持C/C++(CDT)、Perl、Ruby,Python、telnet和数据库开发。插件架构能够支持将任意的扩展加入到 现有环境中,例如配置管理,而决不仅仅限于支持各种编程语言。</p>     <p>Eclipse的设计思想是:一切皆插件。Eclipse核心很小,其它所有功能都以插件的形式附加于Eclipse核心之上。Eclipse基本内核包括:图形API (SWT/Jface), Java开发环境插件(JDT ),插件开发环境(PDE)等。</p>     <p>Eclipse由各种不同的计划组成。以下列出了部分计划。</p>     <ul>      <li><strong>Eclipse计划</strong>:本身包括Eclipse平台,Eclipse富客户端平台(<span class="external text">RCP</span>)和Java开发工具(<span class="external text">JDT</span>)。</li>      <li><strong>Eclipse测试和性能工具平台</strong>(<span class="external text">TPTP</span>):提供一个允许软件开发者构建诸如测试调试、概况分析、基准评测等测试和性能工具的平台。</li>      <li><strong>Eclipse Web工具平台计划</strong> (<span class="external text">WTP</span>):用<span class="mw-redirect">Java企业版</span>Web应用程序开发工具来扩展Eclipse平台。它由以下部分组成:HTML、JavaScript、CSS、JSP、SQL、<span class="mw-redirect">XML</span>、<span class="mw-redirect">DTD</span>、<span class="new">XSD</span>和 WSDL的 源代码编辑器;XSD和WSDL的图形界面编辑器;Java企业版的“项目性质”(project nature)、建构器(builder)和模型(model),与一个Java企业版的导航(navigator);一个Web服务(Web service)向导和浏览器,还有一个<span class="new">WS-I</span>测试工具;最后是数据库访问查询的工具与模型。</li>      <li><strong>Eclipse商业智能和<span class="new">报表</span>工具计划</strong>(<span class="external text">BIRT</span>):提供Web应用程序(特别是基于Java企业版的)的报表开发工具。</li>      <li><strong>Eclipse可视化界面编辑器计划</strong>(<span class="external text">VEP</span>):一个Eclipse下创建图形用户界面代码生成器的框架。</li>      <li><strong>Eclipse建模框架</strong>(<span class="external text">EMF</span>):依据使用<span class="new">XMI</span>描述的建模规格,生成结构化数据模型的工具和其他应用程序的代码。</li>      <li><strong>图形化编辑器框架</strong>(<span class="external text">GEF</span>):能让开发者采用一个现成的应用程序模型来轻松地创建富图形化编辑器。</li>      <li><strong>UML2</strong>:Eclipse平台下的一个UML 2.0<span class="new">元模型</span>的实现,用以支持建模工具的开发。</li>      <li><strong>AspectJ</strong>:一种针对Java的面向侧面语言扩展。</li>      <li><strong>Eclipse通讯框架</strong>(<span class="external text">ECF</span>):专注于在Eclipse平台上创建通讯应用程序的工作。</li>      <li><strong>Eclipse数据工具平台计划</strong>(<span class="external text">DTP</span>)</li>      <li><strong>Eclipse设备驱动软件开发计划</strong>(<span class="external text">DSDP</span>)</li>      <li><strong>C/C++开发工具计划</strong>(<span class="external text">CDT</span>):努力为Eclipse平台提供一个全功能C和C++的集成开发环境(IDE),它使用GCC作为编译器。</li>      <li><strong>Eclipse平台COBOL集成开发环境子计划</strong>(<span class="external text">COBOL</span>):将构建一个Eclipse平台上的全功能COBOL集成开发环境。</li>      <li><strong>并行工具平台</strong>(<span class="external text">PTP</span>):将开发一个对并行计算机架构下的一组工具进行集成的平行工具平台,而且这个平台是可移植的,可伸缩的并基于标准的。</li>      <li><strong>嵌入式富客户端平台</strong>(<span class="external text">eRCP</span>):计划将Eclipse富客户端平台扩展到嵌入式设备上。这个平台主要是一个富客户端平台(RCP)组件子集的集合。它能让桌面环境下的应用程序模型能够大致同样地能运用在嵌入式设备上。</li>     </ul>    </div>    <p><br /> 新闻来源:Solidot</p>