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