.NET開發人員應該關注的七個開源項目

在Ajax術語誕生的短短五年內,這個混合了JavaScript、XML和異步通信的技術增強了用戶的在線體驗,帶動了Web技術的積極發展,現在隨便瀏覽一個網站可能都應用了Ajax技術,隨着諸如日曆,客戶端表單驗證等功能一應俱全的Ajax框架的出現,使Web開發朝快速,簡單的方向邁進了一大步。

ASP.NET Ajax控件工具包(AJAX Control Toolkit)爲.NET開發人員提供了豐富的解決方案,值得一提的是這個工具包是由微軟和開發者社區共同開發的,Ajax控件工具包提供了幾十個強大的控件,如評星等級小工具,彈出窗口,密碼強度驗證,可拖動式面板等。

在它的項目主頁(www.asp.net/ajax/AjaxControlToolkit/Samples/Default.aspx)列出了多個控件demo,並且提供了詳細的教程教你如何使用這些控件,快去看看吧。

 

ASP.NET MVC

MVC架構在現代網站開發中起着核心作用,諸如Ruby on Rails和Zend Framework等解決方案都是使用MVC作爲以架構驅動開發的基礎,幸運的是,.NET開發人員也有ASP.NET MVC開源框架可用,ASP.NET MVC支持三層分離,測試驅動開發,以及一系列最佳實踐。ASP.NET MVC爲.NET開發人員開發複雜網站提供了一個強大的解決方案,而且它是基於.NET的,開發人員可以繼續使用其它ASP.NET特性,如數據緩存和表單驗證等,另外還有其它輔助項目進一步增強了ASP.NET MVC框架的功能,如著名的MvcContrib,它擴展了ASP.NET MVC框架,包括UI助手,模型綁定等增強。

ASP.NET MVC主頁(www.asp.net/mvc)提供了大量的學習資源,包括一系列視頻教程,你完全可以跟着教程的示例創建一個Web應用程序。

 

CruiseControl

現在軟件變得越來越複雜,迫使開發者社區重新思考軟件開發過程,改進現在的開發方法,以減少開發時間,提高軟件質量,因此產生了許多最佳實踐,如著名的測試驅動開發和持續集成等最佳實踐已經在企業環境中得到了普遍採用,持續集成通過定期嚴格整合項目的各個組成部分,減少了複雜項目的集成時間,開發人員可以及早檢查和解決集成時發現的問題,而不是等到最後完全集成時才集中解決問題。

具體說來,持續集成涉及到開發過程許多部分的自動化,包括定期運行測試,開發人員每次向項目倉庫提交代碼時的自動構建等,因爲這種水平的自動化涉及到多個機動部分,近幾年許多解決方案開始流行自己定製持續集成過程,包括開源項目CruiseControl,它爲構建過程,瀏覽構建結果,生成構建報告提供了自動化功能。CruiseControl已經變成了一個流行的持續集成解決方案,並形成了良好的擴展生態系統,在大量的第三方擴展中,JCCTray無疑是最耀眼的,它駐留在任務欄實時監視構建服務器的狀態,另外還有BigVisibleCruise也不錯,它以直觀的視覺圖標顯示構建服務器上託管的所有項目狀態。

 

DotNetNuke

隨着所有業務都開始向網上轉移,網站變得越來越繁忙,人們需要一個強大的內容管理工具來更新網上的內容,的確,現在的網站不僅是銷售產品和服務的渠道,也是管理銷售線索和聯繫人,維護文檔,以及圖片、視頻等多媒體服務的重要手段,管理和組織這些不同類型的資源最有效的方法是使用一個集中式內容管理工具,其中最流行的解決方案就是DotNetNuke,它是一個強大的由.NET開發的內容管理平臺,在全球有數十萬中小企業用戶,甚至財富500強企業也有使用它。

雖然存在多個版本,但開源社區版本也提供了許多功能,允許企業管理公告,論壇等,而且無需編寫一行代碼,甚至連專業的IT人員也用不着,如果需要擴展,門檻也是很低的。

我們最近提交了一篇完整的文檔(www.codeguru.com/csharp/.net/net_asp/miscellaneous/article.php/c17111)介紹DotNetNuke的關鍵特性,如果你對這個項目有興趣,不妨去看看。

 

Mono

2002年.NET框架1.0的發佈,象徵軟件開發的歷史將出現重大轉折,它允許開發人員使用.NET通用語言運行時(CLR)支持的任意語言創建應用程序,微軟將Windows操作系統作爲.NET應用程序運行的唯一平臺一點也不奇怪,遠離Linux和OS X就遠離了麻煩,但因爲.NET是基於一系列公開的標準的,一組有進取心的開發人員創建了Mono項目,將.NET帶進了非微軟平臺。

Mono現在由Novell收養,近幾年來,Mono的規模不斷髮展壯大,野心也越來越大,不僅允許.NET應用程序運行在非Windows平臺,現在在Linux平臺上還提供了對Silverlight的支持(即著名的Moonlight),甚至可以使用C#編程語言構建iPhone應用程序(即著名的MonoTouch)。

更多信息請參考Mono項目網站(www.mono-project.com/Main_Page),你還可以下載爲Visual Studio準備的Mono插件工具包。

 

NAnt

隨着項目規模和複雜性的增加,開發週期變得越來越長,開發人員已經厭倦處理構建時的一大堆麻煩,開發人員James Davidson創建了Ant,它是Java項目的構建工具,在Java社區傳播得很快,於是出現了與之類似的NAnt,爲.NET社區提供了類似的功能。

使用NAnt,你可以創建構建腳本,讓整個.NET項目的構建過程全部自動化,從執行測試到創建文檔,請閱讀這個清單查看它支持的任務(nant.sourceforge.net/release/latest/help/tasks/)。

 

NHibernate

儘管在軟件開發的所有環節都會與數據庫打交道,但開發人員和數據庫之間的關係卻並不好,隔閡都是因爲應用程序和數據庫之間交換數據時效率不高引起的,於是有人創建了Hibernate框架對象關係映射(ORM)解決方案,有效地解決了程序和數據庫之間對象的映射關係。51CTO也曾報道過《淺析NHibernate緩存管理機制和相關問題》。

.NET開發人員也有NHibernate解決方案可用,自2005年首次發佈以來,一直在積極發展,消除了.NET開發人員面向數據的許多困難任務,NHibernate不僅可用於映射應用程序模型到數據庫表,而且可以基於應用程序定義的域模型生成數據庫表結構。

NHibernate項目網站(nhforge.org/Default.aspx)提供了大量的資源,包括詳細的使用手冊,可以幫助你快速地瞭解和使用這個強大的ORM解決方案。

 

小結

如果你是一名.NET開發人員,尚不知道這些開源項目,那麼現在是時候瞭解和學習它們了,我保證你合理引入這些項目會提高你的生產力,說不定還會激發你參與這些開源項目,如果你在使用一個這裏沒有列出的.NET開源項目,不妨與大家分享一下吧!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章