【51CTO獨(dú)家特稿】Ajax控件工具包 在Ajax術(shù)語誕生的短短五年內(nèi),這個(gè)混合了JavaScript、XML和異步通信的技術(shù)增強(qiáng)了用戶的在線體驗(yàn),帶動(dòng)了Web技術(shù)的積極發(fā)展,現(xiàn)在隨便瀏覽一個(gè)網(wǎng)站可能都應(yīng)用了Ajax技術(shù),隨著諸如日歷,客戶端表單驗(yàn)證等功能一應(yīng)俱全的Ajax框架的出現(xiàn),使Web開發(fā)朝快速,簡(jiǎn)單的方向邁進(jìn)了一大步。 ASP.NET Ajax控件工具包(AJAX Control Toolkit)為.NET開發(fā)人員提供了豐富的解決方案,值得一提的是這個(gè)工具包是由微軟和開發(fā)者社區(qū)共同開發(fā)的,Ajax控件工具包提供了幾十個(gè)強(qiáng)大的控件,如評(píng)星等級(jí)小工具,彈出窗口,密碼強(qiáng)度驗(yàn)證,可拖動(dòng)式面板等。 在它的項(xiàng)目主頁(yè)(www.asp.net/ajax/AjaxControlToolkit/Samples/Default.aspx)列出了多個(gè)控件demo,并且提供了詳細(xì)的教程教你如何使用這些控件,快去看看吧。 ASP.NET MVC MVC架構(gòu)在現(xiàn)代網(wǎng)站開發(fā)中起著核心作用,諸如Ruby on Rails和Zend Framework等解決方案都是使用MVC作為以架構(gòu)驅(qū)動(dòng)開發(fā)的基礎(chǔ),幸運(yùn)的是,.NET開發(fā)人員也有ASP.NET MVC開源框架可用,ASP.NET MVC支持三層分離,測(cè)試驅(qū)動(dòng)開發(fā),以及一系列最佳實(shí)踐。ASP.NET MVC為.NET開發(fā)人員開發(fā)復(fù)雜網(wǎng)站提供了一個(gè)強(qiáng)大的解決方案,而且它是基于.NET的,開發(fā)人員可以繼續(xù)使用其它ASP.NET特性,如數(shù)據(jù)緩存和表單驗(yàn)證等,另外還有其它輔助項(xiàng)目進(jìn)一步增強(qiáng)了ASP.NET MVC框架的功能,如著名的MvcContrib,它擴(kuò)展了ASP.NET MVC框架,包括UI助手,模型綁定等增強(qiáng)。 ASP.NET MVC主頁(yè)(www.asp.net/mvc)提供了大量的學(xué)習(xí)資源,包括一系列視頻教程,你完全可以跟著教程的示例創(chuàng)建一個(gè)Web應(yīng)用程序。 CruiseControl 現(xiàn)在軟件變得越來越復(fù)雜,迫使開發(fā)者社區(qū)重新思考軟件開發(fā)過程,改進(jìn)現(xiàn)在的開發(fā)方法,以減少開發(fā)時(shí)間,提高軟件質(zhì)量,因此產(chǎn)生了許多最佳實(shí)踐,如著名的測(cè)試驅(qū)動(dòng)開發(fā)和持續(xù)集成等最佳實(shí)踐已經(jīng)在企業(yè)環(huán)境中得到了普遍采用,持續(xù)集成通過定期嚴(yán)格整合項(xiàng)目的各個(gè)組成部分,減少了復(fù)雜項(xiàng)目的集成時(shí)間,開發(fā)人員可以及早檢查和解決集成時(shí)發(fā)現(xiàn)的問題,而不是等到最后完全集成時(shí)才集中解決問題。 具體說來,持續(xù)集成涉及到開發(fā)過程許多部分的自動(dòng)化,包括定期運(yùn)行測(cè)試,開發(fā)人員每次向項(xiàng)目倉(cāng)庫(kù)提交代碼時(shí)的自動(dòng)構(gòu)建等,因?yàn)檫@種水平的自動(dòng)化涉及到多個(gè)機(jī)動(dòng)部分,近幾年許多解決方案開始流行自己定制持續(xù)集成過程,包括開源項(xiàng)目CruiseControl,它為構(gòu)建過程,瀏覽構(gòu)建結(jié)果,生成構(gòu)建報(bào)告提供了自動(dòng)化功能。CruiseControl已經(jīng)變成了一個(gè)流行的持續(xù)集成解決方案,并形成了良好的擴(kuò)展生態(tài)系統(tǒng),在大量的第三方擴(kuò)展中,JCCTray無疑是最耀眼的,它駐留在任務(wù)欄實(shí)時(shí)監(jiān)視構(gòu)建服務(wù)器的狀態(tài),另外還有BigVisibleCruise也不錯(cuò),它以直觀的視覺圖標(biāo)顯示構(gòu)建服務(wù)器上托管的所有項(xiàng)目狀態(tài)。 DotNetNuke 隨著所有業(yè)務(wù)都開始向網(wǎng)上轉(zhuǎn)移,網(wǎng)站變得越來越繁忙,人們需要一個(gè)強(qiáng)大的內(nèi)容管理工具來更新網(wǎng)上的內(nèi)容,的確,現(xiàn)在的網(wǎng)站不僅是銷售產(chǎn)品和服務(wù)的渠道,也是管理銷售線索和聯(lián)系人,維護(hù)文檔,以及圖片、視頻等多媒體服務(wù)的重要手段,管理和組織這些不同類型的資源最有效的方法是使用一個(gè)集中式內(nèi)容管理工具,其中最流行的解決方案就是DotNetNuke,它是一個(gè)強(qiáng)大的由.NET開發(fā)的內(nèi)容管理平臺(tái),在全球有數(shù)十萬中小企業(yè)用戶,甚至財(cái)富500強(qiáng)企業(yè)也有使用它。 雖然存在多個(gè)版本,但開源社區(qū)版本也提供了許多功能,允許企業(yè)管理公告,論壇等,而且無需編寫一行代碼,甚至連專業(yè)的IT人員也用不著,如果需要擴(kuò)展,門檻也是很低的。 我們最近提交了一篇完整的文檔(www.codeguru.com/csharp/.net/net_asp/miscellaneous/article.php/c17111)介紹DotNetNuke的關(guān)鍵特性,如果你對(duì)這個(gè)項(xiàng)目有興趣,不妨去看看。 Mono 2002年.NET框架1.0的發(fā)布,象征軟件開發(fā)的歷史將出現(xiàn)重大轉(zhuǎn)折,它允許開發(fā)人員使用.NET通用語言運(yùn)行時(shí)(CLR)支持的任意語言創(chuàng)建應(yīng)用程序,微軟將Windows操作系統(tǒng)作為.NET應(yīng)用程序運(yùn)行的唯一平臺(tái)一點(diǎn)也不奇怪,遠(yuǎn)離Linux和OS X就遠(yuǎn)離了麻煩,但因?yàn)?NET是基于一系列公開的標(biāo)準(zhǔn)的,一組有進(jìn)取心的開發(fā)人員創(chuàng)建了Mono項(xiàng)目,將.NET帶進(jìn)了非微軟平臺(tái)。 Mono現(xiàn)在由Novell收養(yǎng),近幾年來,Mono的規(guī)模不斷發(fā)展壯大,野心也越來越大,不僅允許.NET應(yīng)用程序運(yùn)行在非Windows平臺(tái),現(xiàn)在在Linux平臺(tái)上還提供了對(duì)Silverlight的支持(即著名的Moonlight),甚至可以使用C#編程語言構(gòu)建iPhone應(yīng)用程序(即著名的MonoTouch)。 更多信息請(qǐng)參考Mono項(xiàng)目網(wǎng)站(www.mono-project.com/Main_Page),你還可以下載為Visual Studio準(zhǔn)備的Mono插件工具包。 NAnt 隨著項(xiàng)目規(guī)模和復(fù)雜性的增加,開發(fā)周期變得越來越長(zhǎng),開發(fā)人員已經(jīng)厭倦處理構(gòu)建時(shí)的一大堆麻煩,開發(fā)人員James Davidson創(chuàng)建了Ant,它是Java項(xiàng)目的構(gòu)建工具,在Java社區(qū)傳播得很快,于是出現(xiàn)了與之類似的NAnt,為.NET社區(qū)提供了類似的功能。 使用NAnt,你可以創(chuàng)建構(gòu)建腳本,讓整個(gè).NET項(xiàng)目的構(gòu)建過程全部自動(dòng)化,從執(zhí)行測(cè)試到創(chuàng)建文檔,請(qǐng)閱讀這個(gè)清單查看它支持的任務(wù)(nant.sourceforge.net/release/latest/help/tasks/)。 NHibernate 盡管在軟件開發(fā)的所有環(huán)節(jié)都會(huì)與數(shù)據(jù)庫(kù)打交道,但開發(fā)人員和數(shù)據(jù)庫(kù)之間的關(guān)系卻并不好,隔閡都是因?yàn)閼?yīng)用程序和數(shù)據(jù)庫(kù)之間交換數(shù)據(jù)時(shí)效率不高引起的,于是有人創(chuàng)建了Hibernate框架對(duì)象關(guān)系映射(ORM)解決方案,有效地解決了程序和數(shù)據(jù)庫(kù)之間對(duì)象的映射關(guān)系。51CTO也曾報(bào)道過《淺析NHibernate緩存管理機(jī)制和相關(guān)問題》。 .NET開發(fā)人員也有NHibernate解決方案可用,自2005年首次發(fā)布以來,一直在積極發(fā)展,消除了.NET開發(fā)人員面向數(shù)據(jù)的許多困難任務(wù),NHibernate不僅可用于映射應(yīng)用程序模型到數(shù)據(jù)庫(kù)表,而且可以基于應(yīng)用程序定義的域模型生成數(shù)據(jù)庫(kù)表結(jié)構(gòu)。 NHibernate項(xiàng)目網(wǎng)站(nhforge.org/Default.aspx)提供了大量的資源,包括詳細(xì)的使用手冊(cè),可以幫助你快速地了解和使用這個(gè)強(qiáng)大的ORM解決方案。 小結(jié) 如果你是一名.NET開發(fā)人員,尚不知道這些開源項(xiàng)目,那么現(xiàn)在是時(shí)候了解和學(xué)習(xí)它們了,我保證你合理引入這些項(xiàng)目會(huì)提高你的生產(chǎn)力,說不定還會(huì)激發(fā)你參與這些開源項(xiàng)目,如果你在使用一個(gè)這里沒有列出的.NET開源項(xiàng)目,不妨與大家分享一下吧! 原文名:Introducing Seven Popular Open Source Projects for .NET Developers |
|