摘 要.net框架下軟件開(kāi)發(fā)是微軟新開(kāi)發(fā)的一個(gè)產(chǎn)品,適合在Windows界面上開(kāi)發(fā)任意工具。目前在B/S構(gòu)架開(kāi)發(fā)技術(shù)上,主要有Webform、MVC、SilverLight三種模型,能夠同時(shí)滿足.net框架下軟件開(kāi)發(fā)主導(dǎo)地位。本文從三種技術(shù)在市場(chǎng)份額、性能、效率及操作難易程度進(jìn)行全面分析。
【關(guān)鍵詞】.net 框架軟件 開(kāi)發(fā)模式
.net框架下的B/S軟件開(kāi)發(fā)被廣泛應(yīng)用的原因在于此技術(shù)為輕量級(jí),能夠跨系統(tǒng)進(jìn)行操作,能夠捕捉動(dòng)態(tài)數(shù)據(jù)及絢麗的UI設(shè)計(jì)等軟件開(kāi)發(fā)模式,擁有高效率的開(kāi)發(fā),容易上手。當(dāng)然,也存在對(duì)服務(wù)端硬件要求較高的弊端,但不可否認(rèn)的是,.net框架下B/S軟件開(kāi)發(fā)技術(shù)能夠進(jìn)一步推動(dòng)世界科技的向前發(fā)展。
1 .net框架下B/S技術(shù)
1.1 WebForm
WebForm是一套完善的組建開(kāi)發(fā)技術(shù),其原理是結(jié)合用戶所需的URL,找到與之相應(yīng)的aspx和aspx.cs;然后將html標(biāo)簽和服務(wù)端標(biāo)簽runat=server放入控件庫(kù)中,再請(qǐng)求服務(wù)器作出全面分析,組織生成html加載客戶端緩存,最后再將生成內(nèi)容發(fā)回客戶端即可。這樣操作能夠讓軟件開(kāi)發(fā)者用最簡(jiǎn)單快捷的方式對(duì)服務(wù)頁(yè)面進(jìn)行制作,能夠及時(shí)與客戶產(chǎn)生回饋,效率相對(duì)傳統(tǒng)軟件開(kāi)發(fā)更高,且上手容易。
服務(wù)頁(yè)面被分為前后兩個(gè)部分,前臺(tái)部分是由視覺(jué)控件構(gòu)成,主要針對(duì)靜態(tài)元素。而后臺(tái)部分則是為實(shí)現(xiàn)功能的邏輯代碼構(gòu)造,主要針對(duì)動(dòng)態(tài)元素,執(zhí)行客戶端請(qǐng)求。前后臺(tái)將邏輯代碼和視覺(jué)控件生成完整的aspx頁(yè)面,然后采用page 類的PR方式可以生成發(fā)送到客戶端的HTML代碼。具體操作如下:首先是創(chuàng)建服務(wù)頁(yè)面的html空間和runat=server服務(wù)端控件,轉(zhuǎn)化成與之對(duì)應(yīng)的靜態(tài)HTML控件對(duì)象,并將其添加到靜態(tài)頁(yè)面的Controls中集合。其次是將后臺(tái)頁(yè)面的CS部分邏輯代碼page-Load完成初始化空間部分,再調(diào)用Render-Controls遍歷控件樹(shù),生成完整的html代碼發(fā)送到客戶端。
1.2 MVC
MVC是微軟提供的MVC模式的一種軟件開(kāi)發(fā)程序框架,在軟件開(kāi)發(fā)時(shí)將Web程序分為三個(gè)層次,促使復(fù)雜項(xiàng)目容易維護(hù),減少項(xiàng)目耦合現(xiàn)象發(fā)生的概率。將原生的html發(fā)送到服務(wù)端后,將服務(wù)器調(diào)整到ⅡS環(huán)境,再調(diào)用.net中的aspnet-iisapi.dll通過(guò)路由Routing找到url控制類的Controller,讓控制類對(duì)輸入數(shù)據(jù)進(jìn)行梳理和運(yùn)算。然后是返回viewdata給view,將model組合成view的形式發(fā)送到客戶端。MVC技術(shù)能夠?qū)④浖_(kāi)發(fā)逐一分層,且主次明確,這樣有利于開(kāi)發(fā)者對(duì)單元測(cè)試和代碼進(jìn)行全面細(xì)致維護(hù)。
2 三種技術(shù)在.net框架下的比較
2.1 市場(chǎng)份額占有率
從軟件、程序開(kāi)發(fā)行業(yè),市場(chǎng)份額的占有和使用率能夠看出一種技術(shù)的成熟度、性價(jià)比等多方面能力。而.net框架下的軟件開(kāi)發(fā)工作則是IT界的一面旗幟。在.net框架下的B/S軟件開(kāi)發(fā),從市場(chǎng)份額的占有率角度而言,Webform由于是新型軟件開(kāi)發(fā)技術(shù)的先導(dǎo)者,因此在市場(chǎng)中所占據(jù)份額較多,且用戶穩(wěn)固。而MVC則是二代開(kāi)發(fā)技術(shù),服務(wù)端的框架支持受到一定限制,但其具備的優(yōu)勢(shì)加快了在市場(chǎng)中的前進(jìn)步伐。SilverLight具備前面兩種技術(shù)所不具有的優(yōu)勢(shì),但是由于性質(zhì)類同于Adobe Flash,而Adobe Flash不管是投放時(shí)間還是其更新速度,都牢牢占據(jù)大部分用戶好感度和依賴度,因而此技術(shù)并未被廣泛推廣使用。
2.2 框架性能
性能是比較三種軟件開(kāi)發(fā)技術(shù)優(yōu)勢(shì)最有效的途徑。在軟件開(kāi)發(fā)中,B/S軟件系統(tǒng)開(kāi)發(fā)出的產(chǎn)品性能是由多種因素共同決定:服務(wù)端硬件配置,操作系統(tǒng);客戶端性能;數(shù)據(jù)傳輸帶寬、開(kāi)發(fā)技術(shù)等方面。在三種開(kāi)發(fā)技術(shù)中,Webform開(kāi)發(fā)具備高效率的開(kāi)發(fā)能力,在軟件性能上明顯具備處理速度快,消耗流量少等優(yōu)勢(shì)。作為含有頁(yè)面狀態(tài)管理能力,與其他兩種技術(shù)相比,此軟件開(kāi)發(fā)技術(shù)處理周期長(zhǎng)。第三種開(kāi)發(fā)技術(shù)是集合多種程序代碼和控件為一體,直接將數(shù)據(jù)文件傳輸?shù)娇蛻舳说臑g覽器進(jìn)行解析運(yùn)行,因此在數(shù)據(jù)交互期間所承受服務(wù)端壓力較小,具備高效運(yùn)轉(zhuǎn)速度和較低的性能高壓穩(wěn)斜,明顯比第一種具備更多優(yōu)勢(shì)。在開(kāi)發(fā)軟件期間所需的數(shù)據(jù)傳輸帶寬和流量方面,MCV屬于輕量級(jí)可以忽略不計(jì)。但是Webform則屬于高度封裝的管理開(kāi)發(fā)框架,數(shù)據(jù)傳輸?shù)娇蛻舳朔治龊髸?huì)存在大量冗余HTML代碼,因此對(duì)流量的需求及帶寬要求都比較高。
2.3 軟件技術(shù)開(kāi)發(fā)效率
在開(kāi)發(fā)的效率方面,.net作為軟件開(kāi)發(fā)的框架和工具,能夠開(kāi)發(fā)出更人性化的軟件及用戶體驗(yàn),也更便捷清晰。通過(guò)對(duì)三種技術(shù)自身開(kāi)發(fā)效率細(xì)致比較,在頁(yè)面服務(wù)器建立和邏輯代碼分離的設(shè)計(jì)模式中,當(dāng)項(xiàng)目間的耦合性越高,開(kāi)發(fā)效率便會(huì)越低。第一種軟件開(kāi)發(fā)方式主要采用aspx+cs作為頁(yè)面建基,對(duì)兩者依賴性較高,頁(yè)面服務(wù)端的問(wèn)題都放到cs中進(jìn)行處理;而第二種軟件開(kāi)發(fā)方式則相對(duì)靈活,頁(yè)面只需發(fā)送請(qǐng)求及反饋處理即可,與邏輯處理的控制器沒(méi)有質(zhì)檢關(guān)聯(lián),因此項(xiàng)目間耦合度低,開(kāi)發(fā)率也相對(duì)較低;第三種技術(shù)由于和Flash相似,前后臺(tái)邏輯緊密耦合高,因此開(kāi)發(fā)效率在三種技術(shù)中是最高的。但是相對(duì)軟件開(kāi)發(fā)成本也最高,這也是此技術(shù)不被廣泛應(yīng)用的主要原因。
3 結(jié)束語(yǔ)
由此可知,在.net框架下的軟件開(kāi)發(fā)模式,其開(kāi)發(fā)效率、難易程度及性能等需要結(jié)合項(xiàng)目的模式、功能等要求決定。并且在軟件開(kāi)發(fā)時(shí),需要考慮開(kāi)發(fā)技術(shù)、投入成本及專業(yè)IT人員專業(yè)技術(shù)等是否符合軟件功能開(kāi)發(fā)需求。當(dāng)然,在開(kāi)發(fā)期間還要保證硬性插件配置及帶寬、流量等是否滿足開(kāi)發(fā)要求,進(jìn)一步推進(jìn)科學(xué)技術(shù)向前發(fā)展。
參考文獻(xiàn)
[1]吳鵬飛,龍軍.基于.NET的可復(fù)用應(yīng)用框架的研究[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2008(11):46-48.
[2]孫奧,黃燕,吳平.MVC模式在.NET框架中的應(yīng)用與實(shí)現(xiàn)[J].科技廣場(chǎng),2006(01):69-71.
作者簡(jiǎn)介
汪杰(1990-),男,安徽省六安市人。大學(xué)本科學(xué)歷。現(xiàn)為淮南礦業(yè)集團(tuán)助理工程師。研究方向?yàn)榫W(wǎng)絡(luò)安全、軟件開(kāi)發(fā)。
作者單位
淮南礦業(yè)集團(tuán) 安徽省淮南市 232001