欧美三级国产三级日韩三级_亚洲熟妇丰满大屁股熟妇_欧美亚洲成人一区二区三区_国产精品久久久久久模特

Java Web開發(fā)構想(1) -- 1.背景、形勢 2.Web開發(fā)框架層次概述 - 新聞資訊 - 云南小程序開發(fā)|云南軟件開發(fā)|云南網(wǎng)站建設-昆明葵宇信息科技有限公司

159-8711-8523

云南網(wǎng)建設/小程序開發(fā)/軟件開發(fā)

知識

不管是網(wǎng)站,軟件還是小程序,都要直接或間接能為您產(chǎn)生價值,我們在追求其視覺表現(xiàn)的同時,更側重于功能的便捷,營銷的便利,運營的高效,讓網(wǎng)站成為營銷工具,讓軟件能切實提升企業(yè)內(nèi)部管理水平和效率。優(yōu)秀的程序為后期升級提供便捷的支持!

您當前位置>首頁 » 新聞資訊 » 網(wǎng)站建設 >

Java Web開發(fā)構想(1) -- 1.背景、形勢 2.Web開發(fā)框架層次概述

發(fā)表時間:2005-5-30

發(fā)布人:葵宇科技

瀏覽次數(shù):63

Java Web開發(fā)構想

1.背景、形勢

能夠進行Web開發(fā)的編程語言和技術很多

(1) 動態(tài)解釋語言

PHP; Perl; Python (Zope, Plone); Ruby (Ruby style="MARGIN: 0in 0in 0pt">(2) 編譯語言

Java; .net

Java Web開發(fā)遠非一枝獨秀:

除了受到來自.net 這個重量級對手的最大挑戰(zhàn)之外,更受到Zope, Ruby style="FONT-FAMILY: 宋體; mso-ascii-font-family: "Times New Roman"; mso-hansi-font-family: "Times New Roman"">等新式輕騎兵的沖擊(當然,也繼續(xù)受到老式輕步兵PHP, Perl的沖擊)。

官方Java走的是復雜路線,Servlet -> JSP -> Taglib。.net走的也是復雜路線,依靠成熟友好的集成化開發(fā)環(huán)境取勝。Java陣營好容易應對過來,從紛紜復雜的各種開發(fā)框架基礎上,發(fā)展出了重量級Web開發(fā)框架JSF,以及相應的集成化開發(fā)環(huán)境;渴望以此應對.net的攻勢。勝負未分,前途未卜。這時,另一個方向又殺來了新式輕騎Zope, Ruby style="FONT-FAMILY: 宋體; mso-ascii-font-family: "Times New Roman"; mso-hansi-font-family: "Times New Roman"">。

Python, Ruby等動態(tài)解釋語言,面向?qū)ο筇匦愿?#xff0c;先天支持 動態(tài)綁定、AOP、函數(shù)式編程、“編程即配置”等時髦概念。開發(fā)速度更快,代碼量更小,達到killer級別。

傳統(tǒng)的HTML Web開發(fā)領域里面,Java已經(jīng)是腹背受敵。領域外也展開了征戰(zhàn),Rich Client Architecture的興起:AJAX(XMLHttp), Flash RIA, XUL, XAML, Smart Client(以及從前的ActiveX, Applet, Web Start)。

Web的發(fā)展趨勢是 語義Web,最終目的是讓整個Web成為一個巨大的數(shù)據(jù)庫。

這意味著,未來的Web應用將更加的面向文本內(nèi)容數(shù)據(jù),更加搜索引擎友好 – Search Engine Friendly.

二進制的客戶端插件,如Flash RIA, ActiveX, Applet, Web Start等,雖然交互性能最好,但不是以文本內(nèi)容數(shù)據(jù)為中心,搜索引擎不友好。所以,我只是保持適當關注。我更關注基于文本的UI表現(xiàn),如HTML, XUL, XAML等。XUL, XAML還沒有廣泛流行,只是保持一種有興趣的關注。

當下關注的重點,還是 XHTML + CSS + Javascript少量的 AJAX(XMLHttp)增加更好的交互性。

我一直認為:輕量、簡潔、高效 才是硬道理。后面闡述我對Java Web開發(fā)的理解和構想。

2. Web開發(fā)框架層次概述

從上到下,Web開發(fā)框架的層次如下:

(1) HTML, JavaScript, CSS等頁面資源。

(2) 頁面模板層。

JSP, Freemarker, Velocity, XSLfastm等。用來生成HTML, JavaScript, CSS等頁面資源。

(3) Web框架。把HTTP Request調(diào)度分派到對應的Service Entry

(4) Business Logic.

(5) O/R Mapping.

(6) JDBC

(7) DB

根據(jù)我的經(jīng)驗,一個典型的Web應用中的代碼比例如下:

頁面邏輯約占 50%,商業(yè)邏輯約占30%, O/R 約占20%。

但事實上,頁面卻是最不受重視的部分,從來都被認為是臟活,累活,雜活。典型的開發(fā)過程通常是這樣:

頁面設計人員迅速的用Dreamweaver等生成一堆文本雜亂無章的頁面,然后交給JSP程序員加入更加雜亂無章的Java代碼和Taglib。

當頁面布局風格需要改變的時候,頁面設計人員用Dreamweaver等生成一堆新的頁面。JSP程序員再重新加入更加雜亂無章的Java代碼Taglib。

至于頁面中的腳本邏輯調(diào)試,更是一門精深的工夫了。

根據(jù)社會規(guī)則,通常來說,工作內(nèi)容越輕松,收入越高;工作內(nèi)容越臟月累,收入越低;Web開發(fā)也是如此:做著最臟最累的活的頁面程序員,工資一般比不上后臺業(yè)務邏輯程序員。

開發(fā)框架通常會帶來這樣的結果:讓簡單的東西,變得更簡單;讓復雜的東西,變得更復雜。

這其中的原因在于:

一般來說,一個應用中簡單重復的東西占80%,復雜特殊的東西占20%。

簡單重復的東西很容易摸清規(guī)律,進行包裝,通用化。但是,在包裝的同時,經(jīng)常就阻擋住了底層的一些靈活強大的控制能力。在復雜特殊的需求中,確實又需要這些底層控制能力,那么為了繞開框架的限制,付出的努力要比不用框架 大得多。

打個比方,一個比較極端的例子。編譯語言比匯編語言的開發(fā)效率高很多,但是卻無法直接操作寄存器。當需要在編譯語言中操作寄存器的時候,就非常的痛苦。比如Java,也許需要JNI,寫C代碼,還要在C代碼里面嵌入?yún)R編。編譯、連接都很麻煩。

所以,一個框架的開發(fā)效率,就在于這個80%簡單 20%復雜之間的平衡。

假如,不用框架來開發(fā),簡單的80%要消耗 80個資源數(shù),復雜的20%要消耗20個資源數(shù),總資源數(shù)是100;使用了某個框架,簡單的80%只要消耗10個資源數(shù),復雜的20%要消耗40個資源數(shù),總資源數(shù)是50。那么,我們說,這個開發(fā)框架是有效率的。

我的思路是,同時應對復雜和簡單。當然,為了應對復雜,簡單的東西可能就應對得不那么好。比如,做這樣一個開發(fā)框架,簡單的80%要消耗20個資源數(shù),復雜的20%要消耗10個資源數(shù),總資源數(shù)是30。

這種開發(fā)框架是有可能實現(xiàn)的。而且是很有意義的。尤其是在復雜部分的比例提高的時候。越復雜的系統(tǒng),這種開發(fā)框架就越有意義。

后面的關于Web各層開發(fā)的論述,主要就按照這個“應對復雜、讓復雜更簡單”的思路展開。

相關案例查看更多