企業(yè)信息平臺(tái)的快速搭建,框架如何選?-創(chuàng)新互聯(lián)

Web端開(kāi)發(fā)框架如何選

網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)建站!專(zhuān)注于網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、微信小程序定制開(kāi)發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶(hù)創(chuàng)新互聯(lián)還提供了富裕免費(fèi)建站歡迎大家使用!

目前,大部分的企業(yè)信息集成系統(tǒng)都在web端運(yùn)行,而搭建框架的選擇對(duì)一個(gè)企業(yè)的發(fā)展至關(guān)重要,不過(guò)其最終目的都是要符合企業(yè)發(fā)展邏輯,助力企業(yè)戰(zhàn)略的實(shí)施。

而在框架的選擇上就是一個(gè)仁者見(jiàn)仁的事情了,就從底層框架來(lái)說(shuō),web層的就非常多,而且各有特色,比如:Struts、WebWork、Spring MVC、Tapestry、JSF、WebPage3.0……等等。

那么為什么要使用框架呢?

使用框架的必然性

框架,即framework,說(shuō)白了,其實(shí)就是一些應(yīng)用的半成品。通常情況下,為了方便應(yīng)用,會(huì)把不同應(yīng)用程序中一些共性的東西剝離出來(lái),做成一個(gè)半成品程序,這樣的半成品就是程序框架。當(dāng)然,這些東西有免費(fèi)的,也有付費(fèi)的,免費(fèi)的在功能上和后期維護(hù)上需要更多的心思,而付費(fèi)的通常由一些開(kāi)發(fā)企業(yè)做優(yōu)化,開(kāi)發(fā)一些標(biāo)準(zhǔn)功能,再加上一定的拓展,維護(hù)成本上會(huì)更低一些。

目前,軟件系統(tǒng)的發(fā)展已經(jīng)相當(dāng)復(fù)雜了,特別是服務(wù)器端軟件,涉及到的知識(shí),內(nèi)容,問(wèn)題太多。在某些方面使用別人成熟的框架,就相當(dāng)于讓別人幫你完成一些基礎(chǔ)工作,而你只需要集中精力完成系統(tǒng)的業(yè)務(wù)邏輯設(shè)計(jì)。這樣每次開(kāi)發(fā)就不用白手起家,而是可以在這個(gè)基礎(chǔ)上快速搭建。

這樣一方面可以減少重復(fù)開(kāi)發(fā)工作量、縮短開(kāi)發(fā)時(shí)間、降低開(kāi)發(fā)成本,另一方面也可以使程序設(shè)計(jì)更合理、運(yùn)行更穩(wěn)定,減少了人員流動(dòng)所帶來(lái)的困擾?;谶@些原因,基本上現(xiàn)在在開(kāi)發(fā)中,都會(huì)選用某些合適的開(kāi)發(fā)框架,來(lái)幫助建立快速高效的開(kāi)發(fā)應(yīng)用系統(tǒng)。

那么有了這些必然性,選擇就很重要了,在web層的開(kāi)發(fā)框架中,有一些基礎(chǔ)思想很值得注意。

1.數(shù)據(jù)展示

Web層需要從邏輯層獲取需要展示的數(shù)據(jù),然后以合理的方式在頁(yè)面進(jìn)行展示,要做到分類(lèi)明確,抓取精準(zhǔn),使用方便,界面簡(jiǎn)潔。

2.人機(jī)交互

人機(jī)交互,其實(shí)是說(shuō)的軟件智能化。比如用戶(hù)要在界面上輸入數(shù)據(jù),并在界面上進(jìn)行點(diǎn)擊操作,那么就可以觸發(fā)事件,建立標(biāo)準(zhǔn)的事件驅(qū)動(dòng)模型,然后自動(dòng)與后臺(tái)機(jī)型數(shù)據(jù)交換處理,從而完成新界面的建立。

3.收集數(shù)據(jù),調(diào)用邏輯層接口

這個(gè)過(guò)程的觸發(fā)和用戶(hù)的操作請(qǐng)求是同步的。通常web層收到用戶(hù)的請(qǐng)求,便需要相應(yīng)的邏輯層接口來(lái)處理,因?yàn)楸旧韜eb層是不會(huì)進(jìn)行任何邏輯處理的,這其實(shí)也是前后端的差異。而調(diào)用邏輯層接口,需要傳遞參數(shù),這時(shí)需要收集用戶(hù)在界面上輸入的數(shù)據(jù),然后進(jìn)行組織,組織成為邏輯層接口需要的數(shù)據(jù)封裝形式,這種形式有很多,常用的是ValueObject。

4.根據(jù)邏輯層的數(shù)據(jù)來(lái)重新展示頁(yè)面

邏輯層處理完了,但是前端顯示依然沒(méi)有變化,這時(shí)候需要將數(shù)據(jù)或信息重新返回到展示界面上,界面再將數(shù)值分配到具體的位置,新的頁(yè)面便展示出來(lái)了。

其實(shí)通過(guò)以上我們也可以看出來(lái),web層的開(kāi)發(fā)工作重要集中在展示上,也就是圖形用戶(hù)界面,這是用戶(hù)最直觀的感受應(yīng)用程序的窗口,通常也是用戶(hù)要求比較多的地方之一,其表現(xiàn)形式相對(duì)豐富。

?

Web層開(kāi)發(fā)步驟

其實(shí),任何項(xiàng)目從零開(kāi)始,開(kāi)發(fā)步驟都大同小異,只是有條件的企業(yè)會(huì)采用同步開(kāi)發(fā)的模式,以節(jié)省時(shí)間,這里以基礎(chǔ)模式為例,簡(jiǎn)述一下。

1.?確定展現(xiàn)內(nèi)容,寫(xiě)頁(yè)面Html

2.?每個(gè)數(shù)據(jù)的具體表現(xiàn)形式,如:有的需要表現(xiàn)成為下拉列表,有的需要表現(xiàn)成為單選按鈕等。

3.界面表現(xiàn)形式的邏輯布局,所謂邏輯布局是指某些數(shù)據(jù)的表現(xiàn)形式應(yīng)該放在前面,某些應(yīng)該放在后面;某些放在上面,某些放在下面。如:某個(gè)請(qǐng)假申請(qǐng) 的業(yè)務(wù),有請(qǐng)假開(kāi)始時(shí)間和結(jié)束時(shí)間,很明顯開(kāi)始時(shí)間的表現(xiàn)就應(yīng)該排在結(jié)束時(shí)間的前面。而美工是負(fù)責(zé)最后頁(yè)面的美觀,一般美工不能動(dòng)界面的邏輯布局。

4.完成前面3步,頁(yè)面的表現(xiàn)形式的大致模樣就有了,下面需要來(lái)做功能性的開(kāi)發(fā)。第一個(gè)就是這些表現(xiàn)形式的值的來(lái)源,如:下拉列表顯示的值從什么地方來(lái)。值的來(lái)源方式很多,有數(shù)據(jù)庫(kù)中來(lái)、固定值、某斷程序運(yùn)行的中間結(jié)果、前面頁(yè)面?zhèn)鬟f過(guò)來(lái)等等,當(dāng)然典型的還是來(lái)自數(shù)據(jù)庫(kù)。

好了,確定了值的來(lái)源,開(kāi)發(fā)人員就要寫(xiě)代碼來(lái)獲取這些值,然后把這些值賦值到對(duì)應(yīng)的表現(xiàn)形式里面。

5.還有一些比較特殊,也就是真實(shí)操作的是一類(lèi)值,但是在界面上顯示的是另一類(lèi)值,比如:數(shù)據(jù)庫(kù)中有用戶(hù)編號(hào),到了界面上就得顯示用戶(hù)姓名,但是所 有的操作都是要操作用戶(hù)編號(hào)的。我們把這種情況分做:真實(shí)值和表現(xiàn)值,他們有一定的內(nèi)在聯(lián)系。這些都是要開(kāi)發(fā)人員去轉(zhuǎn)化和維護(hù)的。

6.接下來(lái)就應(yīng)該開(kāi)發(fā)功能性的事件響應(yīng)了。用戶(hù)點(diǎn)擊了某個(gè)按鈕或者觸發(fā)了某個(gè)事件,首先是客戶(hù)端:數(shù)據(jù)檢測(cè)、客戶(hù)端事件處理;然后提交到服務(wù)端,服務(wù)端要獲取到客戶(hù)端提交的數(shù)據(jù),然后調(diào)用相應(yīng)的邏輯層接口來(lái)響應(yīng)。當(dāng)然如何寫(xiě)邏輯層的實(shí)現(xiàn)這里就不去談?wù)摿恕?/p>

7.邏輯層執(zhí)行完過(guò)后,返回?cái)?shù)據(jù)和信息到Web層,開(kāi)發(fā)人員還需要寫(xiě)代碼去處理,選擇哪個(gè)頁(yè)面來(lái)顯示,如何顯示這些數(shù)據(jù)和信息等。

8.在整個(gè)交互的過(guò)程中,還必須考慮到如何控制權(quán)限,如:某些數(shù)據(jù)不能顯示,某些數(shù)據(jù)不能編輯等等;同樣還需要考慮到消息的配置和國(guó)際化等等。這些功能起源于邏輯層,但是實(shí)際的控制要到Web層,這些都需要開(kāi)發(fā)人員來(lái)控制。

9.完成了上面的開(kāi)發(fā)步驟,頁(yè)面基本的功能開(kāi)發(fā)就告一段落,接下來(lái)開(kāi)發(fā)人員需要考慮頁(yè)面美觀的問(wèn)題了。大家可能會(huì)說(shuō):“不是有美工嗎,還需要開(kāi)發(fā)人 員干什么?”。事實(shí)上美工多半只能出一個(gè)靜態(tài)頁(yè)面的美化模版,美工對(duì)于一推Java代碼和Html的混雜物,多半是沒(méi)有辦法的,更不要說(shuō)還有一些內(nèi)容是動(dòng)態(tài)生成的,美工就更不可能搞定了。還是得開(kāi)發(fā)人員上陣,按照美工給的模版,開(kāi)始添加Css:class、id、style……

10:完成上面的開(kāi)發(fā),基本頁(yè)面的開(kāi)發(fā)工作就完成了,最后的一個(gè)步驟就是把各個(gè)頁(yè)面有機(jī)的組織起來(lái),開(kāi)發(fā)應(yīng)用程序的整體應(yīng)用導(dǎo)航框架,通常就是菜單,然后把各個(gè)功能頁(yè)面跟菜單結(jié)合起來(lái),形成一個(gè)完整的應(yīng)用。

在這里我們省略了開(kāi)發(fā)期反復(fù)的調(diào)試過(guò)程,僅總結(jié)開(kāi)發(fā)的步驟。

選擇Web開(kāi)發(fā)框架的目的

首先,沒(méi)有框架,我們需要做的工作是什么,了解了這些,我們才能更好的明白框架的價(jià)值。

框架,通俗地講,就是一個(gè)半成品,也就是組成一個(gè)機(jī)器的零件。目前我們使用的框架無(wú)論是基礎(chǔ)的底層框架,還是融合類(lèi)型的付費(fèi)框架,莫不如此。

而框架的選擇,要看項(xiàng)目的實(shí)際需求,底層框架適用于時(shí)間充裕的項(xiàng)目搭建,融合框架(快速開(kāi)發(fā)框架)適用于短期項(xiàng)目,從成本上來(lái)說(shuō),通用型融合框架可以減少開(kāi)發(fā)的工作量,提高工作效率,因?yàn)槠浔旧硪呀?jīng)融合了多種常用功能,ERP、OA、CRM、BI、甚至移動(dòng)APP等,對(duì)企業(yè)來(lái)講,可操作性更強(qiáng)。

選擇Web開(kāi)發(fā)框架的標(biāo)準(zhǔn)

標(biāo)準(zhǔn)不是一成不變的,這里也只是經(jīng)驗(yàn)之談,而且主要出發(fā)點(diǎn)在融合框架的業(yè)務(wù)功能方面,所以?xún)H作參考之用。

1.選擇能夠?qū)ξ覀兊拈_(kāi)發(fā)過(guò)程提供更多、更好幫助的Web開(kāi)發(fā)框架,功能性,穩(wěn)定性要強(qiáng)。

2.Web開(kāi)發(fā)框架的學(xué)習(xí)一定要簡(jiǎn)單,上手一定要快,畢竟,沒(méi)有人愿意在復(fù)雜錯(cuò)亂的框架結(jié)構(gòu)中摸索,一個(gè)成熟的融合框架,如果需要半個(gè)月甚至一個(gè)月的學(xué)習(xí)周期,那這個(gè)框架確實(shí)有需要商榷的地方。

3.良好的技術(shù)支持??蚣軣o(wú)論好壞,技術(shù)支持一定要做好,因?yàn)榈饶闶褂闷饋?lái)就明白,無(wú)論多好的框架,在實(shí)際的應(yīng)用過(guò)程中,都會(huì)或多或少的出現(xiàn)問(wèn)題,如果不能及時(shí)的解決,會(huì)對(duì)整個(gè)項(xiàng)目開(kāi)發(fā)帶來(lái)影響。

此外,一定要考慮綜合成本,其實(shí)這是目前應(yīng)用開(kāi)源軟件大的問(wèn)題,碰到問(wèn)題除了死肯文檔就是查閱源代碼,或者是網(wǎng)上搜尋解決的辦法,通常一個(gè)問(wèn)題就會(huì)導(dǎo)致1-2天的開(kāi)發(fā)停頓,嚴(yán)重的甚至需要一個(gè)星期或者更長(zhǎng),一個(gè)項(xiàng)目有上這么幾次,項(xiàng)目整體的開(kāi)發(fā)成本嗖嗖的就上去了。

4.Web開(kāi)發(fā)框架結(jié)合其他技術(shù)的能力一定要強(qiáng),比如在邏輯層使用Spring或者Ejb3,同時(shí)框架整體也要很容易的與它們進(jìn)行結(jié)合。

5.強(qiáng)大的拓展功能。就像剛才所說(shuō)的,再好的框架都不可能做到面面俱到,況且每個(gè)企業(yè)的實(shí)際情況都有所不同,因此這就要求框架的拓展功能足夠強(qiáng)大,以滿足新業(yè)務(wù)的需求。但是,此處要注意一點(diǎn),擴(kuò)展一點(diǎn)要簡(jiǎn)單,如果因?yàn)閿U(kuò)展功能而使框架整體功能受限,硬塞上去也是不合適的。

6.Web開(kāi)發(fā)框架最好能提供可視化的開(kāi)發(fā)和配置,可視化開(kāi)發(fā)對(duì)開(kāi)發(fā)效率的提高,已經(jīng)得到業(yè)界公認(rèn),況且這一功能目前來(lái)說(shuō)已經(jīng)相對(duì)成熟,不多贅述。

7.Web開(kāi)發(fā)框架的設(shè)計(jì)結(jié)構(gòu)一定要合理,應(yīng)用程序會(huì)基于這個(gè)框架,框架設(shè)計(jì)的不合理會(huì)大大影響到整個(gè)應(yīng)用的可擴(kuò)展性。

8.Web開(kāi)發(fā)框架一定要能很好的結(jié)合目前公司的積累,可以有良好的項(xiàng)目對(duì)接。通常情況下,公司在多年的開(kāi)發(fā)中已有了很多積累,不能因?yàn)槭褂肳eb開(kāi)發(fā)框架就不能再使用了,那未免有些得不償失。

9.不要把框架想的神了??梢钥隙ǖ氖?,目前市面上的所有框架都不可能做到十全十美,也不可能適用所有應(yīng)用場(chǎng)景,所以在選型前一定要了解它的適用范圍,判斷是否合適。

這里給大家推薦一款我公司使用的敏捷開(kāi)發(fā)框架learun,謹(jǐn)作選型參考,免費(fèi)體驗(yàn)地址:http://www.learun.cn/Home/VerificationForm

本文題目:企業(yè)信息平臺(tái)的快速搭建,框架如何選?-創(chuàng)新互聯(lián)
網(wǎng)站地址:http://bm7419.com/article0/diocoo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站營(yíng)銷(xiāo)型網(wǎng)站建設(shè)、網(wǎng)站導(dǎo)航微信小程序、搜索引擎優(yōu)化、建站公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

手機(jī)網(wǎng)站建設(shè)