在Eclipse IDE出现之前,Java
开发工具主要是面向Swing(Java图形
化工具)的,那时候他们很难与
微软的Visual Studio一争高低,但是Eclipse IDE的出现彻底改变了这种状况。
下面笔者将按一些重要的开发相关分类,来比较当前这两个最具代表性的开发工具,看一下在每一个分类中他们谁究竟要更强大一些。
1、核心开发环境
比较项目:语法高亮、错误预防、代码重构、代码援助(code assist)、编译、运行、调试
获胜者:Eclipse
Eclipse是一个强大的怪兽。它具有令人难以置信的智能代码援助(code assist)、丰富的代码重构功能、错误预防和“代码修正”建议,同时还具有非常强大的调试器,可以说在每一个功能上都打败了Visual Studio。无论是Visual Studio 2005还是Visual Studio Express,都称的上一个非常好的集成开发环境(IDE),在Eclipse支持的所有功能中,它也同样支持很多。但是在Visual Studio中没有一个功能,能像Eclipse中那样强大和专业。因此,在这个分类中,我把获胜者定位Eclipse。
2、综合开发
比较项目:数据库、系统集成、web部署
获胜者:Visual Studio
我知道,感觉这个分类就像是在骗人,因为Vistual Studio只支持与基于Windows的产品配合使用,但是Visual Studio与这些产品配合的如此天衣无缝,我必须承认来自微软的Visual Studio占据了优势。在Visual Studio中创建SQL Server支持的BizTalk、ASP.NET或C#解决方案如此容易,集成的如此好,产品间的差别如同完全透明一样。Eclipse和他的商业伙伴之间也有非常好的各种开发模型以实现互相支持,尽管他们也可以比较好的配合使用,但是不像Visual Studio中那么浑然一体。
3、源程序控制和配置管理(SCM)
如同上面一类,Visual Studio在这一方面可以很轻松的实现。他可以与大部分运行于Windows上的工具配合使用,其他厂商具有对其良好的支持。但是,Eclipse可以与几乎所有支持平台上的所有SCM厂商配套使用,而且配合的非常好。最重要的是,它可以与两个可能是最重要的开源相关的SCM产品完全整合,即 Subversion和CVS,这两个工具已经被数千个商业和开源项目所使用,因此我没有理由不宣布:
获胜者:Eclipse
4、软件质量和测试
测试对于保证软件开发质量有着非常重要的作用,Eclipse内置对JUnit单元测试的支持,测试首要的开发体系和代码错误预防是Eclipse平台不可或缺的功能。它内置对JUnit(包括JUnit 4或TestNG插件)的支持,使得测试非常容易且非常自然。Eclipse还非常善于检测潜在的错误(例如self assigning class properties in setter methods),代码格式问题和修补建议。不过,在Web服务测试方面,Visual Studio要超过Eclipse,在Visual Studio中测试Web服务非常容易和简单,这是这个工具中我最喜欢的功能之一,甚至在其免费版的Express版中也支持该功能。
获胜者:Eclipse
5、建立和部署
这是比较难判断的一项。.NET作为框架比J2EE更加容易部署,但是同时也给我们的比较工作带来了困难,很难在部署过程中来比较这两个工具。由于Eclipse内置了对ANT创建工具的支持,和对基于“热”部署的类加载器的支持,所以可以很好的部署J2EE应用程序。但是Visual Studio的部署能力同样根本不需要你担心,它可以完全控制目标部署服务器,可能是IIS,SQL Server或BizTalk。
获胜者:平局
总获胜者:Eclipse
Eclipse如此强大,以致于业界的任何其他IDE工具都不能对其构成威胁,包括Visual Studio。有经验的程序员在使用Eclipse的时候,会一种感觉:IDE可以与它心意互通。在所有方面,这是一个开发者为开发者开发的工具。
Visual Studio也非常不错,它是一个非常伟大且高效的工具,它是一个.NET开发的完美工具。很明显,微软已经尽了最大的努力来为.NET开发者提供一个非常高效且非常直观的开发工具。甚至,其免费版的Visual Studio Express版也非常令人印象深刻。
但是,由于得到了如此巨大的开发社区的反馈信息和开源开发者的无私奉献,Eclipse明显已经先行一步,实际上重新定义了IDE的概念,把传统IDE带入到一个更强大更智能的境界,使它本身变为开发者思考过程的一种延续和扩展。因此我选择了Eclipse作为最后的胜利者。