MVC技術是一種WebApplication設計技術,相比于傳統Web應用程序,MVC可以使程序結構更加清晰,他采用 Model,View,Controller 來管理和架構我們的Web資源,將不同的請求(request)導向不同的Controller(Strutes 中,這個控制器被稱作 Action),不同的View(JSP,ASP,ASP.NET )頁面負責將服務器控制器(Action)處理的結果顯示出來。Modena則是一個簡單·基本的javabean類。
????? MVC的核心優勢,在于將請求和視圖分開,使得后臺開發人員可以專心致志的完善業務實現,前端工程師則盡其所能為用戶提供更良好的用戶體驗。這種設計模式,相對于之前用JSP+Javabean來處理業務和呈現,技術上幾乎是一次飛躍,突然之間,好像大家都愛上MVC了,不光是Java程序員,甚至微軟也不甘落后,很快推出了ASP.NET 版本的MVC實現,突然之間MVC的春天來了。
但是,IT科技的發展是如此之迅速,今天,回過頭來重新審視MVC,至少有如下理由證明MVC已經開始落后于時代了。
????? 異步提交,正在逐漸取代同步提交,在MVC技術發展的黃金時期。,也就是2008年左右,另外一種可以實現更好用戶體驗,的 技術逐漸出現在我們的視野中,就是大名鼎鼎的Ajax(比較著名的例子是GMail),Ajax技術并不是單一一種技術,而是javascript技術(負責動態網頁)、DOM技術(負責呈現數據)、XMLHttpRequest技術(負責從服務器端得到數據)、CSS(負責位頁面數據指定樣式)的綜合運用,通過這種技術,前端表現成為開發人員可以發揮更大影響的地方,之前,在MVC時代和之前的JSP+Javabean時代,開發人員一般是不直接參與到頁面的設計中來的,他們一般會使用頁面設計人員提供的模板,或者,將完成好的Web應用直接提交給頁面設計人員來優化,這樣做,看似是完美的勞動分工,實際上,卻是將開發人員和用戶體驗分離開來,相對于專業的頁面設計人員,更了解需求的開發人員實際上更了解用戶在頁面上想要、需要看到東西。在MVC架構中應用Ajax技術,是可以的,但是這種實現單純只是技術上可行,但是,意義卻不大,原因有兩點:
????? 1,采用了Ajax架構之后,需要呈現數據的頁面已經不像之前的那么多了因為一個頁面已經可以呈現更多的數據了,而且是以一種更加友好的方式來呈現,,實際上,我們可能只需要一個index.html 或許連 index.jsp 或者index.aspx 都不需要。
????? 2,采用了Ajax之后,已經不需要多少Action來處理數據了,這并不是說數據不需要后端處理和得到,而是說,異步刷新的頁面無法得到用Action處理的數據,MVC中,頁面數據大部分是通過request來傳遞的,javascript是沒有辦法直接得到request中的數據。
????? Ajax技術產生的影響,不止是將MVC,一種才誕生幾年,而且如日中天的技術推到盡頭,而且,使得很多于此相關的技術都變得邊緣化了,比如,于JSP相關的若干技術 ,諸如 jslt技術,也就是jsp頁面標簽技術
皮之不存,毛將焉附,JSP技術都變得如此邊緣,基于JSP技術的相關技術,就風光不再了。
????? 雖然以JSP為核心的同步刷新技術,已經無法提供更出色的用戶體驗,但是這些技術,在用戶體驗要求不是很高的地方,比如,各種各樣的MIS(各種各樣的OA等等)系統中,依然非常有價值,并且將繼續保持旺盛的生命力,畢竟,使用異步刷新技術,對開發人員的要求比較高,因為開發人員不僅需要java或者C# ,還需要CSS,Javascript方面的知識,而且,代碼量也遠高于使用同步刷新完成的頁面,同時,在同步刷新及MVC方面,已經有了非常豐富的API,比如Struct2 和Spring MVC。但是,新技術已經來了,就讓我們放開懷抱去擁抱這項技術吧。
???
????? MVC的核心優勢,在于將請求和視圖分開,使得后臺開發人員可以專心致志的完善業務實現,前端工程師則盡其所能為用戶提供更良好的用戶體驗。這種設計模式,相對于之前用JSP+Javabean來處理業務和呈現,技術上幾乎是一次飛躍,突然之間,好像大家都愛上MVC了,不光是Java程序員,甚至微軟也不甘落后,很快推出了ASP.NET 版本的MVC實現,突然之間MVC的春天來了。
但是,IT科技的發展是如此之迅速,今天,回過頭來重新審視MVC,至少有如下理由證明MVC已經開始落后于時代了。
????? 異步提交,正在逐漸取代同步提交,在MVC技術發展的黃金時期。,也就是2008年左右,另外一種可以實現更好用戶體驗,的 技術逐漸出現在我們的視野中,就是大名鼎鼎的Ajax(比較著名的例子是GMail),Ajax技術并不是單一一種技術,而是javascript技術(負責動態網頁)、DOM技術(負責呈現數據)、XMLHttpRequest技術(負責從服務器端得到數據)、CSS(負責位頁面數據指定樣式)的綜合運用,通過這種技術,前端表現成為開發人員可以發揮更大影響的地方,之前,在MVC時代和之前的JSP+Javabean時代,開發人員一般是不直接參與到頁面的設計中來的,他們一般會使用頁面設計人員提供的模板,或者,將完成好的Web應用直接提交給頁面設計人員來優化,這樣做,看似是完美的勞動分工,實際上,卻是將開發人員和用戶體驗分離開來,相對于專業的頁面設計人員,更了解需求的開發人員實際上更了解用戶在頁面上想要、需要看到東西。在MVC架構中應用Ajax技術,是可以的,但是這種實現單純只是技術上可行,但是,意義卻不大,原因有兩點:
????? 1,采用了Ajax架構之后,需要呈現數據的頁面已經不像之前的那么多了因為一個頁面已經可以呈現更多的數據了,而且是以一種更加友好的方式來呈現,,實際上,我們可能只需要一個index.html 或許連 index.jsp 或者index.aspx 都不需要。
????? 2,采用了Ajax之后,已經不需要多少Action來處理數據了,這并不是說數據不需要后端處理和得到,而是說,異步刷新的頁面無法得到用Action處理的數據,MVC中,頁面數據大部分是通過request來傳遞的,javascript是沒有辦法直接得到request中的數據。
????? Ajax技術產生的影響,不止是將MVC,一種才誕生幾年,而且如日中天的技術推到盡頭,而且,使得很多于此相關的技術都變得邊緣化了,比如,于JSP相關的若干技術 ,諸如 jslt技術,也就是jsp頁面標簽技術
皮之不存,毛將焉附,JSP技術都變得如此邊緣,基于JSP技術的相關技術,就風光不再了。
????? 雖然以JSP為核心的同步刷新技術,已經無法提供更出色的用戶體驗,但是這些技術,在用戶體驗要求不是很高的地方,比如,各種各樣的MIS(各種各樣的OA等等)系統中,依然非常有價值,并且將繼續保持旺盛的生命力,畢竟,使用異步刷新技術,對開發人員的要求比較高,因為開發人員不僅需要java或者C# ,還需要CSS,Javascript方面的知識,而且,代碼量也遠高于使用同步刷新完成的頁面,同時,在同步刷新及MVC方面,已經有了非常豐富的API,比如Struct2 和Spring MVC。但是,新技術已經來了,就讓我們放開懷抱去擁抱這項技術吧。
???