日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

無盡的愛――開源項目DNN研究心得

系統(tǒng) 2880 0
2005年12月,公司又接到了一個小型網(wǎng)站建 設的項目,需求相對簡單:頁面要求美觀大方,后臺基本上就是新聞發(fā)布、留言板,最新產(chǎn)品推介、訪問統(tǒng)計、論壇等常用功能,多年來網(wǎng)站建設的經(jīng)驗,使我深味 中小型網(wǎng)站的需求特點:后臺功能基本相同,而前臺頁面則要求精美,設計有創(chuàng)意,這就促使我多年來一直在尋求一種框架:它能夠隨心所欲的改變頁面視覺效果, 能夠快速的開發(fā)定制模塊,并且以插件的形式嵌入到現(xiàn)有的系統(tǒng)中,漫漫求索路,黃金框架喲,你到底在何方?
?
一次偶然的機會,我接觸到了.net平臺下名揚四海的開源項目DotNetNuke(簡稱DNN),一股電流剎時涌遍我全身,我感覺到了一見鐘情,感覺到了全所未所的震撼,我希望與朋友們一起分享這戀愛般的感覺。
?
DNN 首先是開源的,并且采用BSD開源協(xié)議,也就是說你可以任意修改源代碼、傳播、作為商品出售,僅有的要求就是保留源代碼中的版權文字,這就解決了我多年來 的心?。何抑绖泳W(wǎng)新聞發(fā)布系統(tǒng)、微軟官方論壇等都做得相當不錯,可惜源代碼都是不公開的,并且有著很嚴格的產(chǎn)權保護,你在做項目時不得不多考慮一些東 西,但是DNN不一樣,它幾乎赤裸裸的以至于你可以為所欲為,并且得到了官方的穩(wěn)定支持,學習和開發(fā)資料相對齊全,這么好的東西,我為什么不采用拿來主義 呢?
?
DNN部署是很簡單的,沒費多大勁,我從官方網(wǎng)站( http://www.dotnetnuke.com )下載了安裝版,數(shù)據(jù)庫只支持SQL Server,不過它提供了接口,你可以自己開發(fā)讓它也同時支持Oracle,Access等,但是工作量不小哦。
?
當 我輸入localhost進入剛安裝完畢的DNN時,啟動速度相對很慢,我的筆記本特別興奮,硬盤使勁的轉著,十幾秒后終于看到了首頁,界面設計屬菜鳥級 的,一如陳世美相遇秦香蓮,沒多大興趣也沒多大驚喜,而且撲面蓋地的英文,好在本人英文水平也還湊合,據(jù)說和子怡姐姐不相上下,整個網(wǎng)站沒有Flash。 我很快找到了登錄窗口,想進入后臺看看,程序員嘛,多少都是偷窺狂,都渴望盡早的撕開那美麗的外衣,渴望盡早的感受那驚心動魄的內(nèi)部結構。
?
我 以最高權限Host用戶進入了,后臺不是我想象中,如動網(wǎng)一樣的Outlook菜單,而是和前臺沒多大區(qū)別,多個了工具欄,每個模塊,如新聞、友情鏈接都 多了一個小箭頭,鼠標晃過去就出現(xiàn)了菜單,很多功能所見即所得,真正震憾之旅開始了,要說清出這一大堆的前因后果,得聽我細細道來。
?
我 首先遇到的問題是漢化,我不可能拿個英文版的東西給客戶吧?人家當時就可以用中文罵死我,但是我不知道DNN如何實現(xiàn)多語言?看了一下開發(fā)文檔,原來 DNN是以資源包的形式實現(xiàn)的,我當時大笑,英雄所見略同啊。就是有一大堆的xml文件,你要變成中文的,就加個xml文件,按條目將標簽對照著翻過來就 行了,而強大之處在于,你可以在后臺直接上傳個中文包就立即漢化,也可將自己手動漢化的內(nèi)容導出成xml資源文件包。這里特別感謝 dnnChina.net網(wǎng)站,將絕大部分都成功翻譯成中文了,而且相當專業(yè),我從dnnChina.net網(wǎng)站下載完中文包,幾秒鐘后,網(wǎng)站全成中文的 了。不過后來經(jīng)常發(fā)現(xiàn)一些亂碼,于是我在web.config文件中,把默認編碼utf-8換成了gb2312,亂碼問題都順利解決,我當時就納悶:你 utf-8不是號稱支持全球文字嗎?怎么一遇到中文就水土不服呢?郁悶了好久,始終不得其解,打電話咨詢相關機構,老外一口英文,他說的話我全能聽懂,可 是我說的英文這家伙竟然一句都聽不懂,這老外聽力根本不行,于是更郁悶了。
?
漢 化問題解決了,那么緊接著是改變頁面視覺效果了,這是我最耗時間的地方,客戶經(jīng)常以頁面設計來決定整個項目的成敗,我當時嘔心瀝血,窮盡所思,終于設計出 了令客戶滿意的頁面,當時真的很崇拜自己,美工編碼雙料冠軍,人世罕見(臭美一下)。那么如何將這些定制的頁面套到DNN呢?DNN自己定義了一系列的標 準,按照這個標準,我?guī)缀醍斕炀椭谱髯鐾炅薍TML頁面,傳到后臺中就自動套上了,真的很神奇啊。
?
皮 膚問題搞定,然后就是要實現(xiàn)內(nèi)容的后臺添加了。DNN以模塊的形式實現(xiàn)這些功能,比如,客戶要一個在線調(diào)查,直接插入相關模塊就行了,而且各個模塊可以在 頁面中自由的移動,很方便。其實所有模塊中,最重要的是就是文章管理模塊了,可惜DNN沒有自帶這個模塊,上網(wǎng)搜出一個免費的,備受國內(nèi)開發(fā)者推崇的 Article模塊,可惜不太好使,沒辦法,只好自己開發(fā)一個。我覺得這才稱得上是黃金框架,你開發(fā)一個模塊,DNN提供了很好的接口,不用改變原系統(tǒng)一 行代碼,開發(fā)完成后,再以插件方式套上去,DNN自動識別并可以立即使用,真正的即插即用。
?
你如果能開發(fā)出第一個模塊,其他的產(chǎn)品推薦、留言板模塊就特別快了,不過很多模塊DNN都自帶了,不好使的可以到網(wǎng)上去搜,很快就可以找到,后來發(fā)現(xiàn)國外好多程序員在網(wǎng)上賣DNN模塊,有個我花一天完成的同樣功能模塊,老外竟然賣2美元,真是黑啊,商業(yè)意識真強啊。
?
不 過,當下DNN也有一些問題急待解決:1、性能不是很好,我用DNN搭建完成的這個項目后,用LoadRunner測試了一下,50人同時在線,首頁打開 竟要32秒,并且DNN是很耗資源的,我分析了一下,DNN由于產(chǎn)品化,為支持多語言、多數(shù)據(jù)庫等功能增加了許多額外的代碼,自帶的模塊從數(shù)據(jù)庫讀取數(shù)據(jù) 時沒做優(yōu)化,都是按一股腦的綁到了DataSet中,當數(shù)據(jù)量到萬條以上,服務器估計就得撐不住了。
?
2、自帶的模塊大多不太好使,很多模塊連基本的翻頁功能都沒有,例如友情鏈接模塊,就只支持文字而不支持圖片鏈接,只好自己重新開發(fā)了。
?
3. 調(diào)試代碼太耗時間。由于DNN本身代碼量就不少,每次要調(diào)試一個功能時,你最好旁邊放杯茶,當你茶喝完了,要調(diào)試的代碼也就出來了。后來自己開發(fā)模塊時干 脆就自己建立解決方案,把需要的dll都引入,這才大大提高了開發(fā)效率。于是當時我又納悶了:Windows上千萬條代碼,也不知他們是怎么調(diào)試的?
?
中國軟件現(xiàn)狀:大企業(yè)買解決方案,小企業(yè)買產(chǎn)品,在中小企業(yè)建站這塊,一直沒有出現(xiàn)成熟的商業(yè)產(chǎn)品,此時,DNN卻吹響了這個令人心動的號角,我大膽預測,未來兩到三年,DNN在中小網(wǎng)站中必將大行其道,我將迎著這個趨勢大步走在社會主義軟件開發(fā)的康莊大道上。
?
這里有一本介紹DNN使用和開發(fā)的書籍,《Professional DotNetNuke ASP.Net Portals》是DNN開發(fā)者寫的,權威性和可讀性都很強,不過是全英文版的,有需要的朋友可以發(fā)電子郵件向我索取: starchenzhi@163.com
原文地址: http://blog.csdn.net/starchenzhi/archive/2006/03/26/639204.aspx#775530

無盡的愛――開源項目DNN研究心得


更多文章、技術交流、商務合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 突泉县| 凭祥市| 裕民县| 襄汾县| 许昌县| 休宁县| 始兴县| 嵊州市| 磐安县| 苏尼特右旗| 瑞金市| 晋城| 台中市| 罗甸县| 郑州市| 彰化市| 安义县| 福海县| 崇礼县| 衡山县| 额敏县| 苍南县| 荆州市| 墨脱县| 崇礼县| 廊坊市| 民县| 庆云县| 佛山市| 济宁市| 安阳县| 象山县| 深州市| 隆德县| 岳池县| 新泰市| 巴林右旗| 兴海县| 濮阳县| 星座| 赤水市|