<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    我的CRC卡片盒

    zhangwen's blog

    關(guān)于ajax的一些隨筆

    ?

    ?

    關(guān)于 MVC

    ?

    1、? Ajax 必然會帶來 Web 開發(fā) Model2 模型的變革。

    a)???????? MVC 的角色由服務器端向客戶端靠攏,或者,干脆轉(zhuǎn)為其他更合適的形式,

    b)??????? V(View) 的角色將不再僅僅是不起眼的 jsp ,在 Web2.0 的時代,它將擁有自己獨立的一套體系結(jié)構(gòu)。即行為 (Java Script/ECMAScript) ,結(jié)構(gòu) (XHTML) 和樣式 (CSS)

    c)??????? M 的角色將更像 DTO ,它的形式可以由多種,比如:

    ???????????????????????? i.????????????? 字符串

    ?????????????????????? ii.????????????? JS 對象

    ????????????????????? iii.????????????? 應用更為廣泛的 XML

    對應的,他們的傳輸協(xié)議也有多種(當然,都是基于 HTTP ):

    ???????????????????????? i.????????????? JSON-RPC JS 對象)

    ?????????????????????? ii.????????????? Burlap( 基于 XML Java 對象 )

    同時,客戶端 - 服務器端對象之間的轉(zhuǎn)化也將成為一個必須解決的問題。目前, JSON Buffalo 已經(jīng)比較好的做到了這一點。

    d)??????? C 的角色將更為靠近客戶端,它將利用 Js 的特點,發(fā)揮其快速、靈活的特點。它將取代大部分原服務器端控制器的作用。從而使服務器端的編程更加專注與業(yè)務邏輯。

    服務器端的控制器層則會變得更薄,它將專注于:

    ????????????????????? iii.????????????? 服務器端數(shù)據(jù)驗證與安全保護

    ???????????????????? iv.????????????? 與業(yè)務邏輯層之間聯(lián)結(jié)的紐帶

    但是,這一層的功能一旦集成到業(yè)務邏輯層,它將失去主要的作用,很可能退出服務器端的領(lǐng)域。

    ?

    ?

    2、? 傳統(tǒng)的 MVC 框架 ( 比如 Struts WebWork) Ajax 之間應該是競爭的關(guān)系,因為:

    a)???????? 傳統(tǒng)的 MVC 框架在本質(zhì)上,都是同步調(diào)用,而非 Ajax 提倡的異步調(diào)用。

    b)??????? 傳統(tǒng)的 MVC 框架試圖用標簽來集成一部分 Ajax 應用。但這注定只能是一種過渡行為,因為:

    ???????????????????????? i.????????????? 傳統(tǒng)的 Tag 帶來的不便正逐漸顯現(xiàn)出來。 ( 學習成本、不利于編輯、客戶端與服務器端代碼的夾雜等 )

    ?????????????????????? ii.????????????? Tag Js 的封裝有限,無法發(fā)揮 Js 強大靈活的功能

    ????????????????????? iii.????????????? Tag 是服務器端生成的代碼,過多的參與客戶端的行為,不利于程序的分層實現(xiàn)。

    ???????????????????? iv.????????????? 使用 Tag 使得頁面展現(xiàn)邏輯的控制變得復雜和難于理解。它將使動作與表現(xiàn)的分離變得困難。也使得客戶端與服務器端邏輯的分離變得不可能。試想用一段代碼來控制一個自己也不知道會不會生成,能生成什么樣 HTML Tag

    c)??????? 基于第一部分提出的原因, Ajax 所提倡的新的 MVC 方式與傳統(tǒng)的 MVC 框架所實現(xiàn)的方式已經(jīng)有本質(zhì)的區(qū)別,它們之間的競爭也就不可避免了。

    3、? 傳統(tǒng)的 MVC 框架適用的地方( Web Request 適用):

    a)???????? 重視 URL 的應用,如新聞、論壇等

    b)??????? 重視搜索引擎優(yōu)化

    c)??????? 重視用戶傳統(tǒng)習慣(后退鍵問題等)

    實際上,上邊所說的問題 Ajax 都可具有相應的解決方案,但是由于并不能顯示出更多的優(yōu)勢。所以傳統(tǒng)的 MVC 應用框架仍然有存在的空間。

    ?

    另外,強烈推薦的兩個 PPT

    莊表偉:

    http://www.ajaxcn.org/space/start/2006-03-13/1/Ajax%E6%8A%80%E6%9C%AF%E5%9C%B0%E5%9B%BE.pps

    曹曉剛:

    http://www.redsaga.com/down/Use-RIA-And-Metadata-In-J2EE-Enterprise-Dev.ppt

    ?

    這個也不錯,不過沒完全看懂:

    http://alex.dojotoolkit.org/wp-content/LowLatencyData.pdf

    ?

    ?

    關(guān)于用戶體驗:

    ?

    1、? 更佳的用戶體驗是 Ajax 應用推廣的原動力

    a)???????? 2006 年的 Web 開發(fā)將是注重用戶體驗的一年

    b)??????? 基于異步的 Web Remote 調(diào)用將給用戶帶來更好的用戶體驗

    2、? 交互式設計

    a)???????? 傳統(tǒng)的設計令人惱怒,也不能提高生產(chǎn)率

    b)??????? 基于目標導向的交互式設計

    c)??????? http://www.dedream.com

    ?

    關(guān)于 Web 標準和 Web2.0

    ?

    1、? Ajax 需要建立在 Web 標準之上,因此,學習 Ajax 必須學習 Web 標準。

    2、? 使用 Web 標準能給 Web 應用帶來更多的好處 .

    a)???????? 具體的可以參見《網(wǎng)站重構(gòu)》一書。 http://www.china-pub.com/computers/common/info.asp?id=18781

    3、? 使用 Ajax 可以實現(xiàn) Web2.0 的一堆概念

    ?

    關(guān)于 RIA (胖客戶端):

    1、? Ajax 是否屬于 RIA 方案?

    這種爭論意義不大,但是 Ajax 確實帶來了與其他 RIA 方案相似的用戶體驗。在 RIA 重新引起人們重視的今天。

    2、? 比較其他的 RIA 方案, (Flash\Flex Java Web Start Applet Eclipse Remote ActiveX) Ajax 更容易被 Web 開發(fā)人員所接受

    3、? 使用 XML Web Remote 數(shù)據(jù)傳輸體,可以使 Ajax 應用方便的遷徙到其他 RIA 方案。

    ?

    其他:

    ?

    挑戰(zhàn)與思考:

    1、? Ajax 推動的困難之一在于開發(fā)人員對 Js CSS 等表現(xiàn)層技術(shù)的輕視。

    a)???????? 業(yè)界需要 Web 標準、 Web 2.0 等相關(guān)技術(shù),加強對此的研究工作

    b)??????? 需要開發(fā)人員重視用戶交互、用戶體驗方面的研究

    2、? 相對不成熟的 Ajax 開源框架,目前 Ajax 開發(fā)尚沒有類似 Struts WebWork 等經(jīng)過多年考驗成熟框架,多數(shù) Ajax 框架還不存在 2.0 以上的發(fā)布版。而且 Ajax 開源框架質(zhì)量的良莠不齊也給開發(fā)人員的選擇帶來困難。

    a)???????? 部分精品的 Ajax 框架( DWR Buffalo JSON 等)已經(jīng)將逐步走向成熟,雖然尚缺乏大型應用的考驗,但也有了長足的進步。

    b)??????? 國內(nèi)優(yōu)秀的 Ajax 框架 Buffalo 正逐步得到多方面的應用。

    3、? Ajax 的安全問題與解決方案,

    a)???????? Ajax 使用的 XMLHttp 技術(shù)不能跨域訪問 url, 也不能在 HTTP 協(xié)議的頁面訪問 HTTPS 的請求。

    ???????????????????????? i.????????????? 對于安全性不高的應用,可以使用服務器端中間頁面(服務器段代理)解決此問題。

    ?????????????????????? ii.????????????? 對于確實需要加密的應用,可以使用嵌入 HTTPS 協(xié)議的 IFrame 頁面來訪問 HTTPS 請求。

    b)??????? DoS 攻擊。 Ajax 使用的 XMLHttp 使用類似 POST 的方式提交數(shù)據(jù)。使得客戶端可以無限制的提交大量攻擊性數(shù)據(jù)。一旦攻擊者采用分布式拒絕服務攻擊 (DDoS) ,將對系統(tǒng)帶來很大影響。

    ???????????????????????? i.????????????? 除加強服務器段驗證外,目前軟件方面無太好的解決辦法。實際上,使用 POST 方式的表單提交同樣存在此問題,但是 Ajax 的應用使得服務器端的服務地址變得更易被發(fā)現(xiàn)。

    ?????????????????????? ii.????????????? 使用硬件防火墻。

    c)??????? 傳輸數(shù)據(jù)減少,使得數(shù)據(jù)被截獲后分析變得容易。

    ???????????????????????? i.????????????? 使用數(shù)據(jù)加密技術(shù)

    ?????????????????????? ii.????????????? 使用安全套接字層傳輸數(shù)據(jù)

    d)??????? 客戶端代碼展現(xiàn)在用戶面前,難以保證商業(yè)項目源代碼的版權(quán)。

    ???????????????????????? i.????????????? JavaScript 腳本進行加密( Google )。

    ?

    4、? 其他問題:

    a)???????? 緩存問題, XMLHttp 的緩存使得服務器端數(shù)據(jù)更新后,客戶端不一定能立即展現(xiàn)出來

    ???????????????????????? i.????????????? 使用隨機碼訪問服務器端地址

    ?????????????????????? ii.????????????? 通過對 XMLHttp 緩存性質(zhì)的設置,犧牲部分性能來解決此問題

    b)??????? 瀏覽器兼容性問題:

    ???????????????????????? i.????????????? 目前流行的 Ajax 框架均可支持大部分的瀏覽器

    ?????????????????????? ii.????????????? 對于比較古老的瀏覽器(不支持 XMLHttp )尚沒有解決的辦法,但是使用這部分瀏覽器的訪問者數(shù)量已經(jīng)接近于 0

    posted on 2006-06-15 12:13 不知道叫啥好 閱讀(1842) 評論(15)  編輯  收藏

    評論

    # re: 關(guān)于ajax的一些隨筆 2006-06-15 15:53 Compass

    ajax應用中,表單的服務器校驗怎么做?校驗的錯誤怎么傳回客戶端?傳統(tǒng)的mvc都有成熟的校驗框架,可以把這些移植過去嗎?  回復  更多評論   

    # re: 關(guān)于ajax的一些隨筆 2006-06-15 15:59 不知道叫啥好

    @Compass
    在我們的項目里已經(jīng)有相應的方案。其實不是特別復雜,也耗費不了太大的工作量。不能太依賴于開源軟件嗎  回復  更多評論   

    # re: 關(guān)于ajax的一些隨筆 2006-06-15 17:16 Compass

    @不知道叫啥好

    這個方案如果僅僅適用于你們的項目對別人沒什么意義,如果具有通用性,樓主可以考慮把它做成一個框架發(fā)布出來,為開源作些貢獻  回復  更多評論   

    # re: 關(guān)于ajax的一些隨筆 2006-06-15 18:12 wolfsquare

    第2點的abc三個理由都站不住腳.
      回復  更多評論   

    # re: 關(guān)于ajax的一些隨筆 2006-06-15 18:20 晴天娃娃

    哈哈  回復  更多評論   

    # re: 關(guān)于ajax的一些隨筆 2006-06-15 19:10 不知道叫啥好

    @wolfsquare
    呵呵,能說詳細點嗎?
      回復  更多評論   

    # re: 關(guān)于ajax的一些隨筆 2006-06-15 20:38 wolfsquare

    AJAX框架出來了,才是Strust,Webwork們的競爭對手,不過,難道只有AJAX框架才能AJAX?WW們更容易達到這點吧,AJAX也許建立在既有的框架中,才是最好的出路.  回復  更多評論   

    # re: 關(guān)于ajax的一些隨筆 2006-06-16 13:35 google

    ..............  回復  更多評論   

    # re: 關(guān)于ajax的一些隨筆 2006-06-16 14:36 foxty

    Ajax和struts,ww怎么會是競爭關(guān)系呢? 不太贊同這個觀點,個人認為2者結(jié)合起來使用是很不錯的。
      回復  更多評論   

    # re: 關(guān)于ajax的一些隨筆 2006-06-16 15:31 不知道叫啥好

    @foxty
    我認為,ajax試圖使用js來代替?zhèn)鹘y(tǒng)mvc框架中controller的地位,所以說它們是競爭關(guān)系  回復  更多評論   

    # re: 關(guān)于ajax的一些隨筆 2006-06-16 18:18 xy.qin

    ajax和這些表示層框并不存在什么沖突,也不可能在一個項目中完全應用ajax,表示層框架還是需要的,2者結(jié)合是最好的方式。  回復  更多評論   

    # re: 關(guān)于ajax的一些隨筆 2006-06-16 18:34 不知道叫啥好

    @xy.qin
    這種說法當然簡單又保險。不過有點類似和稀泥了。據(jù)我所知有好多完全應用ajax的項目,更有n多不用mvc的爛項目。

    在我習慣了ajax的遠程調(diào)用方式后,我發(fā)現(xiàn)很難再回到struts\ww那種頁面調(diào)用方式。不管是代碼量、可維護性、OO程度、可測性,ajax都要好于struts\ww。空口無憑~有機會偶會來證明一下~
      回復  更多評論   

    # re: 關(guān)于ajax的一些隨筆 2006-06-16 23:47 google

    個人覺得AJAX會對傳統(tǒng)的STRUTS開發(fā)有很大的沖擊  回復  更多評論   

    # re: 關(guān)于ajax的一些隨筆 2006-06-17 01:08 Guest

    AJAX哪里來的數(shù)據(jù),還不是得靠從Server端采集數(shù)據(jù)。Server 端還不是得 JSP/PHP/ASP etc(當然別的方式也行,這些比較常見) 來做嗎?AJAX只是在View的一個很少的方面有優(yōu)勢而以,在MC基本上什么都沒有。況且AJAX的Implementation都是透明的,所有的Business Logic怎樣隱藏?


    AJAX 跟Struts, WW等根本不存在競爭關(guān)系。AJAX只是Struts/WW View層的一個小小的應用而已。

      回復  更多評論   

    # re: 關(guān)于ajax的一些隨筆 2006-06-17 10:50 不知道叫啥好

    @Guest
    我覺得這是因為您還沒有嘗試大規(guī)模ajax的開發(fā)。ajax當然要從server端采集數(shù)據(jù),但這時的數(shù)據(jù)已經(jīng)不是來自于controller(action),而是來自于ajax框架自動封裝過的service layer或者domain layer。
    傳統(tǒng)的mvc有一個原則,就是c這一層一定是很薄的一層,只包括對service layer的調(diào)用。而ajax則說,既然你如此之薄,那我就用js來實現(xiàn)吧!就是這樣,ajax完成了對Struts/WW的接替~

    "AJAX的Implementation都是透明的,所有的Business Logic怎樣隱藏?
    "
    介個,我曝漏的只不過是需要view需要用到的方法名和參數(shù),談何透明之說?  回復  更多評論   


    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導航:
     

    導航

    <2006年6月>
    28293031123
    45678910
    11121314151617
    18192021222324
    2526272829301
    2345678

    統(tǒng)計

    常用鏈接

    留言簿(2)

    隨筆檔案(3)

    文章分類

    Programmer

    搜索

    積分與排名

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 国产精品酒店视频免费看| 亚洲成av人片天堂网| 丰满妇女做a级毛片免费观看| 亚洲熟妇av一区二区三区漫画| 热re99久久6国产精品免费| 欧洲 亚洲 国产图片综合| 亚洲成?v人片天堂网无码| 免费人妻无码不卡中文字幕系| 亚洲欧洲专线一区| 亚洲午夜未满十八勿入网站2| 色se01短视频永久免费| 免费无码专区毛片高潮喷水| 亚洲三级电影网站| 国产一区二区三区免费在线观看| 国产在线观看免费视频软件 | 成人免费毛片观看| 国产黄在线观看免费观看不卡| 亚洲精品中文字幕乱码| 亚洲高清无码综合性爱视频| 99精品视频在线视频免费观看 | 最近免费中文字幕mv电影| 麻豆亚洲AV成人无码久久精品 | 亚洲AV色无码乱码在线观看| 亚洲AV日韩AV永久无码免下载| 无码人妻精品一二三区免费 | 免费人妻av无码专区| 2021在线观看视频精品免费| 一区二区三区AV高清免费波多| 亚洲福利一区二区| 亚洲中文字幕无码久久综合网| 中文字幕无码成人免费视频| 黄页免费在线观看| 黄色网址大全免费| 亚洲人成网站看在线播放| 久久香蕉国产线看观看亚洲片| 免费国产精品视频| 毛片a级毛片免费观看品善网| 免费观看一区二区三区| 丁香六月婷婷精品免费观看| 亚洲人成人伊人成综合网无码| 97久久精品亚洲中文字幕无码|