国产18禁黄网站免费观看,99爱在线精品免费观看,粉嫩metart人体欣赏,99久久99精品久久久久久,6080亚洲人久久精品

計(jì)算機(jī)軟考程序員:Web開發(fā)正確方向Javascript是一個(gè)錯(cuò)誤嗎?

時(shí)間:2008-09-20 00:40:00   來(lái)源:無(wú)憂考網(wǎng)     [字體: ]
對(duì)Web標(biāo)準(zhǔn)的修訂做得越多,Web開發(fā)的正確方向越值得懷疑。InfoWorld的Neil McAllister對(duì)Web開發(fā)的現(xiàn)狀與未來(lái)做了很好的思考。最近,ECMAScript 4標(biāo)準(zhǔn)被棄用,統(tǒng)一為ECMAScript 3.1,如果任ECMAScript 4發(fā)展,Javascript將帶來(lái)巨大變化,Adobe的Ed Rowe告訴作者,大部分人對(duì)Javascript一類語(yǔ)言存在障礙,這是為什么Adobe當(dāng)初加入ECMAScript 4陣營(yíng)的原因,Adobe以及ECMAScript 4希望帶來(lái)一些適于大規(guī)模程序的概念。
  然而,盡管大規(guī)模程序的開發(fā)對(duì)Adobe可能是好的,可以肯定它未必對(duì)任何人都可行,傳統(tǒng)程序語(yǔ)言就是一個(gè)例子。
  對(duì)任何Java程序開發(fā)正規(guī)軍來(lái)說(shuō),強(qiáng)類型,包裝,以及命名空間盡管對(duì)維護(hù)大型程序來(lái)說(shuō)可能很容易,但對(duì)Web程序員來(lái)說(shuō)幾乎沒(méi)有什么用處,Web程序員僅僅想通過(guò)編程對(duì)UI搞一點(diǎn)花樣。
  事實(shí)上,ECMAScript委員會(huì)想創(chuàng)造一種萬(wàn)能編程語(yǔ)言的初衷非常值得置疑,曾經(jīng),有一群非常聰明的人聯(lián)合起來(lái),想寫一個(gè)終極語(yǔ)言,這種語(yǔ)言非常安全,有活力,且非常標(biāo)準(zhǔn)化,幾乎 沒(méi)有需要解釋的地方,這就是Ada,現(xiàn)在沒(méi)有人還記得Ada,因?yàn)檫@種語(yǔ)言非常嚴(yán)格,缺乏靈活,人們寧愿使用C。
  既然沒(méi)有人能夠創(chuàng)造一個(gè)終極的,完美的傳統(tǒng)編程語(yǔ)言,又怎么能指望我們可以為Web創(chuàng)造一個(gè)這樣的語(yǔ)言?我們?cè)蕉嘤懻摯笠?guī)模 Web 程序,越應(yīng)該知道,單一的編程語(yǔ)言將永遠(yuǎn)無(wú)法適合任何工作。
  作者非常喜歡Model-View-Controller設(shè)計(jì)模式,然而這個(gè)模式并不適合于任何場(chǎng)合,不過(guò)這個(gè)模式可以為程序開發(fā)提供一套指南,總體上說(shuō),Model-View-Controller的核心是從數(shù)據(jù)層,業(yè)務(wù)邏輯層,分離展示層。瀏覽器可以算作View(展示層),我們不應(yīng)強(qiáng)迫它同時(shí)成為業(yè)務(wù)邏輯層。
  自從有了Javascript,我們對(duì)它的指望越來(lái)越多,企圖用它來(lái)創(chuàng)建整個(gè)程序,事實(shí)上,Javascript不可能適合任何任務(wù)。我們不應(yīng)該將越來(lái)越多的業(yè)務(wù)功能硬塞進(jìn)瀏覽器,應(yīng)該讓瀏覽器專心作展示,而在其它地方展開業(yè)務(wù)邏輯。
  比如,插件。當(dāng)然,很多Web開發(fā)者會(huì)告訴你插件不是好東西,每次你強(qiáng)迫用戶下載安裝插件,都相當(dāng)于在你的代碼前面設(shè)置了障礙,事實(shí)是這樣嗎?
  早期的插件絕大多數(shù)用來(lái)提供多媒體功能,很快就成為在線營(yíng)銷工具,那時(shí),人們使用撥號(hào)上網(wǎng),但很少有人懷疑人們對(duì)插件的耐心。
  現(xiàn)在的例子是Google Gears,一次性安裝Google Gears,任何基于Google Gears的程序都獲得額外的功能。目前,基于Google Gears的站點(diǎn)不僅包含Goolge Docs與Google Reader,也包含 MySpace, Picasa甚至Wordpress。
  人們傾向于Google Gears的離線運(yùn)行Web程序的能力,卻忽視了WorkerPool模塊,WorkerPool允許 Javascript在后臺(tái)執(zhí)行,獨(dú)立于網(wǎng)頁(yè)代碼。WorkerPool 是獨(dú)立的代碼執(zhí)行引擎,只不過(guò)剛好象普通瀏覽器那樣運(yùn)行相同的Javascript代碼。
  為什么要用JavaScript,而不是Python, Lisp或其它。如果有一種應(yīng)用有足夠的說(shuō)服力,就有足夠的動(dòng)力將它設(shè)計(jì)成插件,尤其是在現(xiàn)在的寬帶世界。這樣的例子已經(jīng)存在,Adobe的Flash插件就可以執(zhí)行ECMAScript4標(biāo)準(zhǔn)的腳本,其它平臺(tái)還包括Curl與REBOL。
  作為Web開發(fā)者,我們羞于選擇其它道路,只是在無(wú)休止地對(duì)JavaScript進(jìn)行改進(jìn)和標(biāo)準(zhǔn)化。因?yàn)槟鞘?Web 標(biāo)準(zhǔn),我們告訴自己,JavaScript 是一個(gè)純凈的選項(xiàng)。
  但如果只拘泥于單一的方式,我們?yōu)槭裁催要費(fèi)這番力氣?我們已經(jīng)擁有一個(gè)功能齊備的客戶端做任何事情,從數(shù)據(jù)庫(kù),到e-mail,它已經(jīng)安裝到成千上萬(wàn)的企業(yè),這就是Lotus Notes。
  考試大編輯提醒:這就是我們前進(jìn)的方向?這就是將來(lái)的瀏覽器模型?或者,對(duì)Web開發(fā)界來(lái)說(shuō),我們是否應(yīng)該跳出這個(gè)圈子思考問(wèn)題?