新聞中心
JavaScript在網(wǎng)頁(yè)技術(shù)中的主流地位在很長(zhǎng)時(shí)間內(nèi)恐怕都難以撼動(dòng)。相比其他的RIA(Rich Internet application)技術(shù),如Adobe的Flex、微軟的Silverlight、Sun的JavaFX等,以JavaScript為核心的AJAX技術(shù)最大的優(yōu)勢(shì)在于:標(biāo)準(zhǔn)、普及、成熟;不需安裝插件,只要瀏覽器支持JavaScript即可;因其文本特征而對(duì)搜索引擎更加友好?!?那么,Javascript的興起是否意味著LAMP的終結(jié)呢?

創(chuàng)新互聯(lián)是一家專注于成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作與策劃設(shè)計(jì),薩爾圖網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)十年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:薩爾圖等地區(qū)。薩爾圖做網(wǎng)站價(jià)格咨詢:028-86922220
Metamarket的CTO Mike Driscoll最近發(fā)表了一篇略帶煽動(dòng)性的帖子,討論了Web應(yīng)用的架構(gòu)。他認(rèn)為Node.js等框架預(yù)示著LAMP的終結(jié)。
三個(gè)月前,我們決定廢棄儀表盤選用的框架:Python的Django,并用Node.js(服務(wù)器端的Javascript)重新構(gòu)建了框架。鑒于LAMP堆棧已經(jīng)死亡,我們才做出了這個(gè)決定。
Mike認(rèn)為Web有三個(gè)階段:
1991-1999:HTML時(shí)代——這是個(gè)文檔的時(shí)代。
2000-2009:LAMP時(shí)代——使用數(shù)據(jù)庫(kù)的時(shí)代。
2010-??:Javascript時(shí)代。Javascript時(shí)代是事件流的時(shí)代。
現(xiàn)代的Web頁(yè)面已經(jīng)不再是頁(yè)面了,它們都是事件驅(qū)動(dòng)的應(yīng)用,信息會(huì)通過(guò)這些應(yīng)用流轉(zhuǎn)。
他解釋道:
LAMP架構(gòu)已經(jīng)死了,因?yàn)閷?duì)于響應(yīng)里的Mashup,很少有應(yīng)用愿意把全部的有效負(fù)載轉(zhuǎn)移到很小的事件上去;他們只想用Javascript更新DOM的一個(gè)片段。AJAX做到了這一點(diǎn),但如果服務(wù)器端的LAMP模板有10%的HTML和90%的Javascript,這么做顯然是不對(duì)的……
Mike認(rèn)為,服務(wù)器的主要作用就是帶著數(shù)據(jù)(JSON)把應(yīng)用發(fā)送到客戶端(Javascript),并讓客戶端從中構(gòu)造UI。服務(wù)器的次要作用則是監(jiān)聽(tīng)處理事件的流,并有效地把響應(yīng)推回客戶端,這些事件可能是一次新的編輯、一條消息、或是Ticker發(fā)生了變化。
一些人對(duì)此發(fā)表了評(píng)論:
Bruce Atherton贊成Mike的觀點(diǎn),但他認(rèn)為事件并不會(huì)通過(guò)HTTP來(lái)流轉(zhuǎn):
Websockets和SPDY將會(huì)接管這方面的處理,因?yàn)楹虷TTP相比,它們更合適這個(gè)任務(wù)。
Chase Sechrist已經(jīng)在很多地方使用了Node.js,即便如此,他仍然列舉了一些對(duì)Node.js的擔(dān)憂:
你還需要知道一些高級(jí)知識(shí),比如競(jìng)態(tài)條件的調(diào)試方法、事件循環(huán)的工作原理,甚至在遞歸回調(diào)導(dǎo)致棧溢出時(shí),調(diào)用堆棧的處理方式。正因?yàn)槿绱耍瑢?duì)那些寫了二十年C的人、還有剛開(kāi)始編程的初級(jí)工程師來(lái)說(shuō),控制流還是非常奇怪、令人費(fèi)解的。
“Jorjun”指出,以現(xiàn)在的變化速度來(lái)看,即使Javascript這個(gè)新的架構(gòu)是合理的,它也不會(huì)太持久:
兩年之內(nèi)會(huì)有一種更高效的方式對(duì)寶貴的IP進(jìn)行編碼。需要注意的是,新的方式正在出現(xiàn),Java對(duì)它們沒(méi)有任何意義——這些方式在九十年代末還沒(méi)有出現(xiàn)。Javascript的愚蠢名副其實(shí)。它有大括號(hào)、奇怪的Fudgery、極其惱人的Artefact,對(duì)我這樣的老學(xué)究來(lái)說(shuō),Javascript看起來(lái)輕率、討厭、太復(fù)雜而容易混淆。
NOLOH的聯(lián)合創(chuàng)始人Asher Snyder認(rèn)同帖子的前提條件:“Web應(yīng)該、也正在轉(zhuǎn)向事件?!钡⒉幌嘈臞avascript能引領(lǐng)方向。他認(rèn)為“我們正在走向一個(gè)平臺(tái)或統(tǒng)一語(yǔ)言的時(shí)代,因?yàn)橹挥衅脚_(tái)或統(tǒng)一語(yǔ)言才能讓快速開(kāi)發(fā)真正處理好Web的瘋狂”。
Subbu Allamaraju最近發(fā)布了Node.js和Play的一些性能對(duì)比數(shù)據(jù),InfoQ和他簡(jiǎn)單討論了一下:
就個(gè)人而言,我發(fā)現(xiàn)Node.js和Play等框架讓W(xué)eb開(kāi)發(fā)人員覺(jué)得很興奮,因?yàn)樗鼈儙?lái)了一些新的思想。在Web框架領(lǐng)域,特別是在Java端,這樣的簡(jiǎn)單性已經(jīng)很久違了。尤其是Play,它在Netty之上,而不是傳統(tǒng)的Servlet框架,是一個(gè)很不錯(cuò)的選擇。
Web應(yīng)用架構(gòu)的演進(jìn)確實(shí)很快。由于Web應(yīng)用變得越來(lái)越“厚重”,特別是在事件驅(qū)動(dòng)的世界里,人們只能思考REST還剩下什么,看來(lái)我們要回到最初開(kāi)始的地方了。最近我們確實(shí)沒(méi)怎么聽(tīng)說(shuō)有關(guān)REST及其統(tǒng)一接口的消息,還有它怎樣成功改變Web應(yīng)用架構(gòu)的相關(guān)內(nèi)容。你對(duì)Web應(yīng)用架構(gòu)的未來(lái)持什么觀點(diǎn)呢?你怎么看Javascript成為主流的編程語(yǔ)言?
查看英文原文:Will the Rise of Javascript Mean the End of LAMP?(http://www.infoq.com/cn/news/2011/04/javascript-lamp)
新聞標(biāo)題:Javascript的興起是否意味著LAMP的終結(jié)?
標(biāo)題來(lái)源:http://fisionsoft.com.cn/article/cospgss.html


咨詢
建站咨詢
