文/张凯峰

上个月,Ajax网站AjaxLine统计发布了30款最受欢迎的Eclipse插件,这次遴选出的插件,范围涉及Python、LAMP、Web、Emacs、SQL、Log、UML和IDE增强等诸多方面,琳琅满目的Eclipse插件体现出插件机制在Eclipse中优异的扩展性能,以及Eclipse作为IDE在开发者心目中的地位。

众所周知,Eclipse是最初作为Java IDE发布的一个开放平台,因其具备完善的插件扩展机制,并逐渐加入对于C++和其他语言平台的支持而受广大开发群体的欢迎,一度成为IDE市场事实上的标准。很多软件开发厂商,包括IBM和Oracle在内,都基于Eclipse平台推出各自贯穿软件生命周期的产品平台,比如IBM的Rational产品系列、Oracle的JDeveloper,还有ThoughtWorks的自动化测试平台Twist。在InfoQ中文站上进行调查的结果中显示,除了这些著名非著名的插件外,国内开发者们还比较热衷于使用MyEclipse和Apatana这样的Eclipse插件,当然开源的插件更是不计其数。

最近20年无疑是IDE快速发展的时期,层出不穷的语言需要强力的IDE来支持,语言、程序员和软件厂商在这个新兴的市场中博弈浮沉。近观这几年,我们就会发现有的IDE在厂商的金元支持下不断增强,老产品发布的新版本强劲有力;而有的IDE则城头变换大王旗,甚至彻底没了踪影;有的新款专业级甚至开源的IDE随着新兴语言的登场让人眼前一亮;有的却怠于改进反响微弱,让人食之无味弃之可惜。

让我们来看一下,最近一年IDE们都在忙些什么?那些耳熟能详的IDE现在怎么样了?这个市场上又出现了哪些新面孔呢?IDE在朝着怎样的一个方向发展?

东家换了以后

在英巴卡迪诺(Embarcadero Technologies)收购了Borland的开发部门以后,这令Delphi获得了新生。其核心产品Delphi 2009又重新开始关注Win32开发了。另外,微软在协议上的变化又给了新版本的Delphi一个出路。微软向独立的系统供应商免费提供Visual Studio。这个名为Visual Studio Shell的版本可用作任何开发套件的基础。

Embarcadero正在用其开发Delphi Prism。Delphi Prism给Embarcadero带来了一些Borland未曾拥有的东西。通过将Visual Studio Shell作为起始点,他们可以立刻与微软的专业开发工具展开竞争而无须弥补迷失的那几年光阴。凭借Delphi Prism,Embarcadero可以专注于微软比较欠缺的领域:跨平台开发。通过使用Visual Studio和Delphi Prism,开发者编写的程序可以运行在非Windows操作系统上。

Oracle对NetBeans的声明更值得耐人寻味,你会发现在对NetBeans的说明中没有像对MySQL那样所谓的“比Sun投入更多的资金” 字样。另外因为此前Oracle已经有JDeveloper和基于Eclipse的开发包,所以NetBeans何去何从,也一直是Java开发者所比较关注的。在文档中,Oracle提道:我们希望NetBeans也能像现在Oracle已经提供的两款免费企业级Java开发工具(Oracle JDeveloper和Oracle Enterprise Pack for Eclipse)一样,成为又一个开源的选择。对Oracle JDeveloper来说,它依然是开发Oracle Fusion中间件产品以及下一代企业级应用的官方指定工具,但是开发人员如果想开发纯Java和JavaEE系统的话,那么就可以选择他们自己趁手的免费工具了:JDeveloper、Enterprise Pack for Eclipse或者NetBeans。

积极的社区互动

还是Delphi,自从CodeGear被Embarcadero收购后,社区对Delphi的未来发展非常关心。特别是在Delphi 2009发布后,开发者以及Delphi社区出现了很多不同的声音,Embarcadero得到的反馈很多都说Delphi 2009在性能和稳定性等方面都有很大的提升,提供了很多新功能。公司也在一直追踪着Delphi整个的发展历程,关注着使用者的反馈。在2007年Delphi启用了一个全新的内存管理器,提升到更好的性能和更高的稳定性。Delphi 2009的亮点就在于它支持Unicode,所有的运行库还有VCL、编译器都支持Unicode了,全球各地的开发人员都可以开发出本地化的应用程序。现在Delphi还提供了这种无缝的字符串的支持,而用户只要做一个重新的编译就可以了。

回到5月,Visual Studio 2010的Beta 1版本刚刚正式发布。自此VisualStudio开发团队,包括性能专家Rico Mariani,都基于用户反馈来努力提升该软件的性能。在Microsoft Connect站点上公布有大量性能问题相关的报告。

Visual Studio项目经理Weston Hutchins对“VS2010慢于VS2008”的指责回应说:我们成立了性能小组来处理问题,例如:过去数月的启动缓慢问题。从Beta以来,我们有效降低了大概30%的启动时间,但我们仍比Visual Studio2008的启动速度慢。其中的原因是我们现在引导CLR的时间有点长。我们期待未来会有所改善,但并不一定可以到达VS 2008的水平。

支持多语言(动态语言)平台

借助于Iron,.NET开发者也能访问这些Python和Ruby这样的动态语言了。如果你打算从C#或VB转到Python上,现在正是一个绝佳的时机。通用语言系统(Common Language System)保证可以将遗留代码保存为DLL的同时使用IronPython编写新的代码。但有时开发者却想将所有东西放到一个包中。

如果你就是这么想的话, 那么SharpDevelop很适合你了。SharpDevelop 3.1提供了一个特性,可以将C#和VB的代码转换为IronPython代码。这可以通过SharpDevelop的解析库NRefactory在文件或项目级别上实现。

尽管最初仅仅是个Java IDE,但现在的Eclipse早已成长为一个综合性的平台,支持多种语言,如C、PHP、HTML、JavaScript及动态语言,更不必说在Eclipse基金会之外所开发的平台了(如Scala和Python)。EclipseRuntime项目不仅提供了基础的EquinoxOSGi运行时,还提供了通用的通信框架ECF,P2就利用其从HTTP上下载各种bundle(或是其他服务如Bittorrent,也许不久的将来还能与Google Wave之类的服务进行通信)。

著名Java IDE,IntelliJ IDEA背后的公司JetBrains在提供社区版本的同时,也在大力开发为Ruby开发者使用的IDE——RubyMine,并且在1.0版本推出的6个月后发布了2.0 版本,被誉为动态开发的指明灯。在这个新版本中,包括支持Ruby 1.9,提供高级重构,支持i18n等一些最新特性。重构特性是其中的重要更新,从 Refactor菜单中,增加了常量和参数的引入、超类和模型提取等功能,同时支持编码过程中的数据类型智能识别,帮助开发者提升编码效率。

从商业转向开源

SpringSource Tool Suite(STS)是个基于Eclipse的开发环境,用以构建Spring应用, 其最新版开始支持Spring 3.0及OSGi开发工具。近日SpringSource开发团队发布了SpringSource Tool Suite 2.1.0 RC1版,该版本还支持与Amazon EC2及VMware工具的运行时集成。

IntelliJ IDEA刚刚发布9.0版本,IntelliJ IDEA为市场提供了两种版本:免费和开源的社区版,完全功能的旗舰版(即从前的IntelliJ IDEA)。此举的最重大的意义在于,社区版的引入,完全清除了那些挡在广大使用IntelliJ IDEA进行纯Java开发的用户面前的障碍——价格。这个版本不仅免费,而且——这也是尤其重要的——完全开源。其中包括对Java7的初步支持。

基于Web的IDE

2009年2月Mozilla发布了Bespin,这是一个基于Web的编写代码的框架,而就在几天以后,Boris Bokowski和Simon Kaegi使用Eclipse无显示插件实现了一个基于Eclipse的Bespin服务器。伴随着EclipseCon上基于Web的Eclipse工作台的演示,以及像Heroku这种既是基于Web的IDE又是RoR应用托管环境的出现,似乎基于Web的IDE很快就会成为主流了。关于Bespin,Mozilla的目标是能够推出一种开放的、可扩展的、基于Web的用来编写代码的框架,能够提高开发者的开发效率,带来更加炫目的用户体验,并促进开放标准的广泛使用。

另外,Coderun.com是一款在线开发代码的IDE,它进行可以编译,执行,调试。不过编写的对象主要是C#,ASP.NET,Javascript(jQuery)和 PHP,从社区的反映来说,功能还是很强大的。有趣的是,还有一款Codepad.org可以进行在线的代码编译。

支持新概念

云计算也许是最近比较火的一个大词了,有的IDE也在帮助开发者们无限接近云计算。据微软宣称,只需要一套Visual Stduo 2010开发工具与一种熟悉的.NET开发技术,程序员就能轻易地游走在包括云运算、RIA高交互的互联网应用甚至包括移动与嵌入式装置,掌握最新的技术与商机。

而Amazon发布了AWS Toolkitfor Eclipse,它可以在Eclipse环境下让Eclipse实例加载并管理EC2实例。AWS Toolkit for Eclipse是个Eclipse Java IDE插件,凭借它开发者可以轻松开发、部署及调试使用了Amazon Web Services的Java应用。借助于AWS Toolkit for Eclipse,我们还能以更快的速度构建AWS应用且效率更高。发布AWS Toolkit for Eclipse最初的目的是面向Amazon EC2开发者,提供基本的管理功能和工具来部署并调试JavaWeb应用。

作者简介:张凯峰,现就职于某软件外企,从事软件开发和测试工作,熟悉Java和Web相关技术。热衷社区事业,InfoQ中文站Java社区编辑。本文部分摘编自InfoQ中文站,特此声明。

(本文来自《程序员》杂志10年01期)

Logo

20年前,《新程序员》创刊时,我们的心愿是全面关注程序员成长,中国将拥有新一代世界级的程序员。20年后的今天,我们有了新的使命:助力中国IT技术人成长,成就一亿技术人!

更多推荐