.NET開源IDE--SharpDevelop

iDotNetSpace發表於2009-01-08
提起開源IDE(Integrated Development Environment,整合開發環境),大家馬上就會想到Eclipse;提起開源的基於外掛的平臺,大家馬上想到的還是Eclipse。

  JavaIDE領域,Eclipse現在的勢頭可謂如日中天。殊不知,在.NET領域也有一個與Eclipse極其類似的開源IDE,它就是SharpDevelop。

  1. 廬山真面目  SharpDevelop是一個用於開發C#或者VB.NET專案而設計的一個編輯器,同時,這個編輯器本身就是使用C#開發的,而且公開了全部原始碼,因此這個工具本身也是學習C#以及軟體開發規範的一個很好材料。SharpDevelop 這個輕型的開發工具支援多種程式語言,包括C#以及VB.NET,同時還支援多種語言介面。

  這個編輯器的介面風格類似於Office XP以及VS.NET,可以支援書寫C#, ASP.NET, ADO.NET, XML, HTML 等多種程式碼, 支援基於專案或者是檔案的開發,可以對C#, HTML, ASP, ASP.NET, VBscript, VB.NET, XML 提供彩色語法顯示支援,同時還可以把彩色的程式碼輸出為HTML格式檔案。你可以在程式碼中做標記,支援豐富的程式碼模版以及外接外掛。

  圖1:SharpDevelop執行介面

  以上就是SharpDevelop執行時候的介面,是不是很酷啊?目前SharpDevelop的最新版本是2.1.0。想要獲取最新的版本以及原始碼,可登入http://www.icsharpcode.net/opensource/sd/。

  2. SharpDevelop主要特點及優點

  1) 體積小功能強大:和幾個G的Visual Studio .NET相比,它僅僅只有14M多,體積相差了幾百倍,但是麻雀雖小,五臟俱全,用它開發普通的程式,足夠用了。

  2) 框架-外掛結構:SharpDevelop採用框架——外掛的可擴充套件的體系結構。Eclipse曾經宣稱可以成為世界上所有語言的開發工具,只要提供相應的外掛。筆者認為SharpDevelop也可以做到這一點。下圖就是SharpDevelop的體系結構:

  圖2:SharpDevelop體系結構

  由上圖我們可以看出,整個系統可以分為兩大模組:可複用的框架+外掛集合。其中框架部分是SharpDevelop的基礎,其中全域性屬性、工具包、資源、基礎圖形使用者介面層又是整個框架的基礎,在此之上的可擴充套件模組樹主要負責管理外掛集合。框架之上的是代表各個功能模組的外掛的集合,其中外掛又允許有隻外掛。

  3) 解決方案和工程檔案同Visual Studio 2005 100%相容:從SharpDevelop2.0開始,SharpDevelop的解決方案和工程檔案採用完全相同的格式,這下它們就可以互相開啟對方的工程,再也不用為相容性發愁了。

  4) 完全免費:世界上有沒有免費的午餐?有,這就是SharpDevelop。相對於一個License 幾千美金的Visual Studio .NET來說,這也許是SharpDevelop最大的優勢了。許多小的公司、個人,在起步階段,資金匱乏,Visual Studio .NET對它們來說太奢侈了,既然有同Visual Studio .NET完全相容的SharpDevelop可以選擇,而且免費,何樂而不為呢?

  5) 完全開源:一款優秀的軟體如果能夠開放原始碼,對於廣大程式設計師來說,無疑找到了一座知識的金庫。將其原始碼進行研讀,學習優秀的程式設計技術和理念,將大大提高讀者的技術水平;對於軟體企業來說,也可以從開放的原始碼中找到可以利用的東西。筆者曾經研讀過部分SharpDevelop原始碼,從中受益匪淺。

  3. 英雄生不逢時

  在當今的Java領域,IDE市場可謂百花齊放、百家爭鳴、英雄輩出,從JBuilder到Eclipse,從JCreator到NetBean,各路英雄粉墨登場,各有絕招。然後,在.NET平臺上,開發工具一直是Visual Studio .NET獨領風騷。究其原因,筆者認為有如下幾點:

  1) Visual Studio .NET本身先進好用:好的質量是贏得使用者的先決條件,Visual Studio .NET可以說是IDE作品的經典之作,尤其是在視覺化開發方面優勢巨大;

  2) 微軟在這一領域的獨特優勢:眾所周知,.NET平臺是微軟一手推出的,沒有其它公司參與,.NET平臺和相應的開發工具往往同時推出,這是微軟的習慣,這樣以來,其它的IDE廠商往往來不及反應,Visual Studio .NET已經佔領了大部分的市場了。反觀Java領域,Java領域一直倡導開源,並且在Java的各種技術、各個標準的推出過程中,都有許多大的公司參與,除了Sun以外,IBM、Borland在Java的發展過程中發揮了巨大的影響,因此許多公司也包括開源組織都推出了自己的IDE;

  3) 程式設計師的慣性:.NET程式設計師大多是從以前VB、VC程式設計師轉變而來,習慣了Visual Studio系列開發工具的程式設計師很難改變自己的習慣。因此,儘管Borland也推出了.NET平臺下的開發工具,卻很難吸引程式設計師克服其慣性,促使程式設計師轉到Borland開發的IDE上面來。

  雖然SharpDevelop雖然具有Eclipse那樣優秀的技術、可擴充套件的平臺以及開源的優勢,卻未能像Eclipse那樣取得足以改變.NET開發工具市場格局的成績。究其原因,筆者認為有如下幾點:

  1) 時間原因:SharpDevelop問世的時間比Eclipse短,Eclipse問世已經有6年多的時間了,而SharpDevelop問世不過4年多;

  2) 對手不同:Eclipse的主要對手是Borland的JBuilder,JBuilder的速度一直飽受病詬,而Eclipse的速度具有明顯的優勢,且Eclipse背後站著“藍色巨人”IBM;而SharpDevelop所面對的對手則是微軟旗下的強大的可怕的Visual Studio .NET。顯然,SharpDevelop所處的環境要比Eclipse要“險惡”的多;

  3) 獲支援的程度不同:由於Java領域倡導開源,而相對來說.NET領域對於開源不是那麼感冒,因此Java領域廣大開源支持者熱衷與為開源的Eclipse開發外掛,這使得Eclipse功能原來越強大,幾乎無所不能;反觀SharpDevelop,第三方外掛寥寥無幾,因而功能也要大打折扣了。

  總結:

  儘管SharpDevelop在.NET平臺開發領域並未流行開來,未能像Eclipse那樣風光無限, 不能不讓人扼腕嘆息。然而不以一時成敗論英雄,SharpDevelop確實是一款優秀的整合開發環境,並且SharpDevelop是開源免費的,假以時日,SharpDevelop一定可以取得更大的成就,從Visual Studio .NET碗裡分一杯羹。不過筆者認為,SharpDevelop對於廣大.NET技術愛好者來說,不僅僅是一個雉嫩的整合開發環境,更重要的是它為我們提供了幾十萬行優秀的原始碼,通過研究它我們可以學習到先程式序編寫方法。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12639172/viewspace-531786/,如需轉載,請註明出處,否則將追究法律責任。

相關文章