下面筆者將按一些重要的開發相關分類,來比較當前這兩個最具代表性的開發工具,看一下在每一個分類中他們誰究竟要更強大一些。
比較項目:語法高亮、錯誤預防、代碼重構、代碼援助(code assist)、編譯、運行、調試
Eclipse是一個強大的怪獸。它具有令人難以置信的智能代碼援助(code assist)、豐富的代碼重構功能、錯誤預防和“代碼修正”建議,同時還具有非常強大的調試器,可以說在每一個功能上都打敗了Visual Studio。無論是Visual Studio 2005還是Visual Studio Express,都稱的上一個非常好的集成開發環境(IDE),在Eclipse支持的所有功能中,它也同樣支持很多。但是在Visual Studio中沒有一個功能,能像Eclipse中那樣強大和專業。因此,在這個分類中,我把獲勝者定位Eclipse。
我知道,感覺這個分類就像是在騙人,因為Vistual Studio只支持與基于Windows的產品配合使用,但是Visual Studio與這些產品配合的如此天衣無縫,我必須承認來自微軟的Visual Studio占據了優勢。在Visual Studio中創建SQL Server支持的BizTalk、ASP.NET或C#解決方案如此容易,集成的如此好,產品間的差別如同完全透明一樣。Eclipse和他的商業伙伴之間也有非常好的各種開發模型以實現互相支持,盡管他們也可以比較好的配合使用,但是不像Visual Studio中那么渾然一體。
如同上面一類,Visual Studio在這一方面可以很輕松的實現。他可以與大部分運行于Windows上的工具配合使用,其他廠商具有對其良好的支持。但是,Eclipse可以與幾乎所有支持平臺上的所有SCM廠商配套使用,而且配合的非常好。最重要的是,它可以與兩個可能是最重要的開源相關的SCM產品完全整合,即 Subversion和CVS,這兩個工具已經被數千個商業和開源項目所使用,因此我沒有理由不宣布:
測試對于保證軟件開發質量有著非常重要的作用,Eclipse內置對JUnit單元測試的支持,測試首要的開發體系和代碼錯誤預防是Eclipse平臺不可或缺的功能。它內置對JUnit(包括JUnit 4或TestNG插件)的支持,使得測試非常容易且非常自然。Eclipse還非常善于檢測潛在的錯誤(例如self assigning class properties in setter methods),代碼格式問題和修補建議。不過,在Web服務測試方面,Visual Studio要超過Eclipse,在Visual Studio中測試Web服務非常容易和簡單,這是這個工具中我最喜歡的功能之一,甚至在其免費版的Express版中也支持該功能。
Visual Studio也非常不錯,它是一個非常偉大且高效的工具,它是一個.NET開發的完美工具。很明顯,微軟已經盡了最大的努力來為.NET開發者提供一個非常高效且非常直觀的開發工具。甚至,其免費版的Visual Studio Express版也非常令人印象深刻。
但是,由于得到了如此巨大的開發社區的反饋信息和開源開發者的無私奉獻,Eclipse明顯已經先行一步,實際上重新定義了IDE的概念,把傳統IDE帶入到一個更強大更智能的境界,使它本身變為開發者思考過程的一種延續和擴展。因此我選擇了Eclipse作為最后的勝利者。