中文字幕日韩一区二区_国产一区二区av_国产毛片av_久久久久国产一区_色婷婷电影_国产一区二区精品

架構(gòu)妄想:AJAX + REST

  William Vambenepe的最新文章,AJAX + REST是最新的架構(gòu)妄想,讓我們回想起了一個具有15年歷史的架構(gòu),它曾被寄期望對Web產(chǎn)生革命性的影響。

在該架構(gòu)里,Web服務器將返回包含全部數(shù)據(jù)的XML文件,與XML一道,還會返回一個XSLT文件(用于描述如何將XML轉(zhuǎn)換成HTML)。瀏覽器將依此處理XML數(shù)據(jù),顯示最終的HTML。搞定!該方式將帶來很多好處,優(yōu)于老式的“服務器生成HTML”模型。XML可以被其他應用方便地使用(不僅僅是人類),不同的XSLT可被用來將內(nèi)容適配到各種客戶端平臺。

  光陰飛逝,但這種理念其實從未真正實現(xiàn)?,F(xiàn)在,我們又快速地轉(zhuǎn)向Ajax:

XML文檔還在,盡管它通常被稱為JSON。XSLT現(xiàn)在則是一大堆JavaScript。比起XSLT模型,這種模型有許多優(yōu)勢……它更靈活,可以實現(xiàn)小規(guī)模更新,以及部分頁面刷新等等。但是,它是否也能夠讓架構(gòu)保持清晰,使數(shù)據(jù)API與表現(xiàn)邏輯相分離呢?

  Vambenepe解釋了原因,盡管它看上去優(yōu)雅并包含了所有的架構(gòu)優(yōu)點,但該模型在大多數(shù)情況下并不實際:

相同服務的客戶端支持多種交互模型,若不無限制的蔓延開來,單個API很難滿足所有這些模型的需要(這里,所謂“單一API”,其實就是一塊遮羞布)。但若是想讓API保持外觀簡潔,你最終可能就會得到交互頻繁的應用。

  但是在Vambenepe看來,這僅僅是該方法諸多問題中的一個。他指出的另一個大問題是該方法的事實:

……摒棄集成了瀏覽器代碼和服務器代碼的架構(gòu)……不是所有Web開發(fā)者都認為他們的客戶端框架和服務器框架是兩套工具。將它們整體作為一個預先裝配好的工具使用或許不會得到最優(yōu)的代碼,但可能還是可以最優(yōu)利用你的開發(fā)資源。

  盡管Vambenepe有強有力的論據(jù),他的帖子還是遭到了質(zhì)疑。什么才是正確之路?為現(xiàn)有UI(如GWT風格)創(chuàng)建/生成單獨的REST API?一方面,這種方法簡化了UI實現(xiàn);另一方面,每個UI都要有一個新API。這種方法的伸縮性更好嗎?哪個代價更高?實現(xiàn)UI集成,還是后端API?由這個帖子還產(chǎn)生了另一個更嚴肅的問題:什么是正確的設計方法?先實現(xiàn)后端API,然后設計多個使用它的UI;還是開始從UI開始設計,然后再定義支撐它的API?傳統(tǒng)來看,API實現(xiàn)的代價似乎更高,但API本身要比UI更穩(wěn)定。

  因此,沒錯,滿足各種需求的單一API看起來是架構(gòu)妄想。但是,一組設計良好、輕巧可重用的API可被用來作為許多UI(Ajax)實現(xiàn)的基礎。

  查看英文原文:Architectural Mirages

it知識庫架構(gòu)妄想:AJAX + REST,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 911精品美国片911久久久 | 日韩成人在线看 | 国产一区二区欧美 | 久久精品免费一区二区三 | 中日字幕大片在线播放 | 国产美女在线精品免费 | 日韩精品不卡 | 亚洲一二三在线 | 欧美成人a∨高清免费观看 欧美日韩中 | 日韩精品免费视频 | 久久久国产一区二区三区 | 成人免费观看视频 | 久草网视频 | 中文字幕一区二区三区四区五区 | 国产美女久久 | www.久久| 日本不卡免费新一二三区 | 免费国产黄| 91免费在线 | 在线看成人av | 国产一区二区三区在线视频 | 久草福利| 国产精品资源在线 | 在线色网 | 国产日韩欧美在线 | 久久久999成人 | 国产片侵犯亲女视频播放 | 在线观看成年视频 | 久热免费 | 性大毛片视频 | 中文视频在线 | 久久视频精品 | 亚洲精品一区在线观看 | 97在线观看 | 成人h免费观看视频 | 免费视频二区 | 午夜影视网| 国产精品射 | 日韩亚洲视频 | 亚洲视频在线看 | 欧美午夜精品 |