陳濤 王兆良
【摘要】框架是一種復雜的構件形式,可以達到復用的效果,可生成自定義的應用程序,在應用過程中可自主升級,具有良好的擴展性和結構性。成熟的框架可以輔助完成一些基本工作,開發(fā)人員只需要進行邏輯設計即可。因此,框架是一種針對特定領域而面向對象軟件的構件技術,能夠簡化設計問題,提高軟件開發(fā)效率,使產品擴展性更加良好,維護起來也更加便捷。針對Web開源框架研究的市場潛力,本文將深層次的分析基于開源框架開發(fā)Web應用的研究情況。
【關鍵詞】開源框架開發(fā);Web;應用
軟件開發(fā)從結構化逐漸發(fā)展為面向對象化,其發(fā)展焦點集中在提高模塊質量方面,21世紀的軟件開發(fā)已從面向對象過程進化到了面向構件過程,未來的應用開發(fā)將努力提供一種完全開放的構件體系,便于構件之間的集成和組裝。
1、Web應用開發(fā)框架
1.1框架技術概述
世界上第一個廣泛應用的框架是MVC框架,在長期的發(fā)展過程中,框架已不再局限于與用戶對接,而是存在多種應用領域??蚣苣軌驗檐浖O計和代碼組成提供一種可復用的軟件基礎,實現特定領域的應用設計,關于框架的定義,學界有這樣的描述:框架是一個部分完成的軟件系統,為特定對象提供基本構造模塊,并定義特殊功能的實現方式。按照不同的應用方式可以將框架分為黑盒框架和白盒框架。黑盒框架所描述的是系統包含的類以及類之間的相互關系,用戶可以通過構件的不同組裝方式,達到修改黑盒框架的目的[1]。白盒框架與黑盒框架恰好相反,它是通過用戶的抽象類繼承來定制框架的,用戶在使用過程中首先需要為每個抽象類派生出一個子類,然后在子類中實現抽象方法,最后將其用于特定應用。由于白盒框架能夠為用戶提供更加具體的細節(jié),而且用戶還可以進行各種修改操作,提高了白盒框架的復用范圍,但前提是用戶需要掌握白盒框架的內部結構,對用戶的技術水平有一定要求。
1.2多種框架類型
(1)Strets框架。Strets是在JSP基礎上發(fā)展并成熟起來的一種新型框架形式,而且在JSP框架中占有絕大部分的市場份額,該框架整合了JSP的所有技術優(yōu)勢,能夠為用戶提供可擴展的軟件開發(fā)基礎。(2)Struts框架。Struts由一系列相互關聯的類組成,可在Web應用中加入MVC架構模式,因此,Struts是MVC的一種體現方式。(3)Ajax框架。Ajax技術是諸多RIA技術中最受歡迎的一種實現技術,能夠用于輔助程序開發(fā),而且多數都是開源的,體現了Ajax技術的開放性。(4)DWR框架。每個Ajax框架都具有屏蔽前臺操作的功能,DWR框架就相當于一種引擎,能夠把Ajax的請求-響應循環(huán)徹底消除掉,從而簡化代碼程序[2]。因此,DWR框架主要是針對Ajax框架開發(fā)出來的,可用于開放源碼,提供協議解決方案,雖然DWR不是唯一可用的引擎工具包,但卻是最成熟的,與其他框架相比,DWR最大的特色在于服務端,客戶端可以直接生成SCRIPT代碼,沒有插件困擾,簡單易行,對于DHTML編程經驗不足的開發(fā)用戶來講,DWR是最佳的選擇對象。
2、Web開發(fā)集成框架應用與實現
2.1級聯菜單的設計與實現
Web應用中一般是將菜單寫成固定的靜態(tài)結構,程序可讀性較差,Javascript代碼維護起來難度較大,正是基于這種現狀,才在流行開源框架的基礎上形成了級聯菜單模式,通過Struts與Ajax的聯合使用,借助MVC來提高編程效率,降低維護難度。級聯菜單與傳統菜單相比,可一次性完成數據轉用,避免每次操作引起的重載提示,還可用JavaScript來控制子集欄目,避免向服務器頻繁發(fā)送請求信息,提高了用戶操作的響應速度[3]。
2.2檢索對話框的設計與實現
隨著社會信息量的爆炸式增長,人們對信息檢索提出了更高的要求,一方面要求信息檢索的準確率要高,另一方面是在信息檢索速度方面更快,從而在更短的時間內檢索到更加準確、有價值的信息。基于此,檢索提示功能能夠有效的解決上述兩個問題,借助Ajax框架的檢索提示功能,用戶可以在檢索信息時獲得有用的參考提示,就像使用電腦桌面程序一樣,無需任何操作,可有效節(jié)省檢索時間,提高檢索效率[4]。
2.3使用效率分析
為了體現Ajax框架的應用優(yōu)勢,需要在同一功能模塊基礎上對比使用Ajax和不使用兩種情況下的網絡流量和代碼使用量。使用Ajax框架時,一開始由于只加載JS類庫,因此持續(xù)時間比較短,但是在不使用Ajax框架框架時,第一次載入的流量較高,而且持續(xù)時間較長,兩者之間的流量差距較大。代碼使用量是所有開發(fā)用戶所共同關心的問題,因為代碼用量越少,開發(fā)難度也就越小,維護起來也更加簡單。在檢索框中使用DWR框架,代碼量是413行,在不使用時,代碼量是531行,但從行數上比較,使用DWR框架時,可有效降低22%的工作量。
3、結束語
本文是圍繞開源框架Web技術來實現MVC展開的,通過對當前主要應用框架技術進行分析,可將開源框架集成應用到Web中,實現基于開源框架的Web應用,并分析Web開發(fā)集成框架在級聯菜單、檢索對話框、使用效率方面的應用優(yōu)勢。我們有理由相信,隨著開源框架技術水平的提高,基于開源框架的Web應用將具有更加廣闊的市場前景。
參考文獻
[1]鮑陳,王海濤,陳陽.基于ExtJS和S2SH的Web開發(fā)框架研究與應用[J].宿州學院學報,2013,09:64-70.
[2]張婷.基于Extjs+Spring MVC的Web系統開發(fā)架構的研究與實現[J].計算機技術與發(fā)展,2013,01:147-149+153.
[3]姚敦紅,彭小寧,石元泉.基于Pushlet與Esper輕量級實時Web系統的設計[J].計算機應用與軟件,2013,05:163-166.
[4]張宗福.基于STRUTS框架開發(fā)MVC模式的WEB應用[J].計算機光盤軟件與應用,2012,22:206-207.