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