在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作為最后的勝利者。