|
JavaScript似乎一直都當(dāng)作是解析型的腳本語(yǔ)言,程序開發(fā)人員往往對(duì)此不懈一顧。認(rèn)為一個(gè)腳本也沒有太多的難度,那似乎為不懂程序的人專門設(shè)計(jì)的東西,不值得真正搞開發(fā)的去研究和應(yīng)用。
從LiveScript 到JavaScript,在大量的時(shí)間JS都只是作為一種Script腳本在應(yīng)用。更多的開發(fā)者只有在前端表單驗(yàn)證、以及諸如應(yīng)用飄浮、移動(dòng)、下拉聯(lián)動(dòng)菜單等網(wǎng)頁(yè)特效或者必須通過界面才能得到的東西,比如客戶端的時(shí)間、分辨率、以及一些在當(dāng)前窗口操作的事件時(shí)才用得到它。于是JavaScript成了網(wǎng)頁(yè)特效語(yǔ)言,專門用來(lái)給頁(yè)面加上各種酷炫的效果了。JS似乎只能做些華而不實(shí)界面效果,甚至用戶還可以隨時(shí)屏蔽,一些瀏覽器工具條自動(dòng)把 JavaScript給屏蔽了……
程序員對(duì)JavaScript的不重視,直接導(dǎo)致了JavaScript被忽視;而大量互聯(lián)網(wǎng)特效應(yīng)用,加速了JS被地當(dāng)作一種腳本。而直到Jesse James Garrett 把JavaScript XMLhttp DOM等組合在一起正式提出Ajax后,JavaScript才忽然地炙手可熱起來(lái)。加上Google、Yahoo、Microsoft等大型公司在Ajax方面的大量應(yīng)用,JavaScript隨著Ajax也越來(lái)越受到關(guān)注。
Ajax是一種新瓶裝老酒的技術(shù)組合,或者說(shuō)Ajax不是一種技術(shù),而是一種概念。可正是這種能給互聯(lián)網(wǎng)應(yīng)用帶來(lái)革新的概念讓大家產(chǎn)生濃厚興趣,原因不僅在于技術(shù)組合本身,也在于互聯(lián)網(wǎng)應(yīng)用技術(shù)模式的發(fā)展趨勢(shì)。RIA的發(fā)展趨勢(shì)需要新的技術(shù)和方法來(lái)配合,Ajax在現(xiàn)階段正好滿足了豐富互聯(lián)網(wǎng)應(yīng)用的部分發(fā)展要求,而重新利用上和定位JavaScript將是一種較好實(shí)現(xiàn) RIA的選擇。Ajax(或者說(shuō)目前最佳豐富互聯(lián)網(wǎng)技術(shù)應(yīng)用)中真正的核心應(yīng)當(dāng)是JavaScript,目前的趨勢(shì)是需要用JavaScript這種程序語(yǔ)言來(lái)重構(gòu)網(wǎng)頁(yè)、用JavaScript來(lái)格式化數(shù)據(jù)。而XMLhttp是一種傳輸數(shù)據(jù)的橋梁和協(xié)議,與原來(lái)GET和POST相類似,而XMLhttp很好地為JavaScript服務(wù)罷了。
實(shí)際上JavaScript就像 世界上最被誤解的語(yǔ)言(http://www.crockford.com/Javascript/Javascript.html)里描述的JavaScript是世界上使用人數(shù)最多的編程語(yǔ)言之一,除了后綴是-script讓人起疑之外,其他各種計(jì)算、流程控制、數(shù)組、函數(shù)一應(yīng)俱全,與Java、C等等也很像。
當(dāng)然也會(huì)程序員說(shuō),JavaScript不能操作文本(操作本地也不安全)、無(wú)法生成圖像、也沒有面向?qū)ο蟆]有類、沒有繼承、無(wú)法Debug,無(wú)法通過網(wǎng)絡(luò)傳輸數(shù)據(jù)。所以,JavaScript不是一門真正意義上的程序語(yǔ)言。于是這樣JavaScript就被忽略為在僅在頁(yè)面設(shè)計(jì)當(dāng)中使用的腳本了。但是,當(dāng)看到JSON這樣面向?qū)ο蟮腏S應(yīng)用、JS集合、3D圖形、Prototype里類和繼承,再加上XMLhttp異步傳遞網(wǎng)絡(luò)數(shù)據(jù),這時(shí)候還能說(shuō)JavaScirpt僅僅是簡(jiǎn)單的腳本嗎?
幾年前就有先見者指明JavaScript是世界上最被誤解的語(yǔ)言,幸好,今天我們已經(jīng)認(rèn)識(shí)到JS的重要性,不會(huì)一直再誤會(huì)下去。
看到諸如
http://www.NETvibes.com/
http://developer.yahoo.com/yui/
http://www.backbase.com/
http://www.meebo.com/
http://www.miniajax.com/
http://www.protopage.com/
http://www.google.com/
http://www.a9.com/
http://www.live.com/
http://www.snap.com/
http//www.ask.com/
http://dojotoolkit.org/
http://www.ask.com/
這些應(yīng)用時(shí),JavaScript就不會(huì)只是被當(dāng)成腳本語(yǔ)言了。JavaScript具有面向?qū)ο蟮母拍睿部梢岳^承類和拋出異常。正因?yàn)檫@些,也就是現(xiàn)下為何Ajax框架層出不窮,并且如此火爆的原因了。程序開發(fā)者已經(jīng)意識(shí)到JavaScript語(yǔ)言的重要性,以及重新認(rèn)識(shí)它之后給網(wǎng)頁(yè)開發(fā)帶來(lái)的變革,對(duì)于無(wú)論是前端還是后臺(tái)開發(fā)人員,JavaScript都不只是從前所認(rèn)為的那樣-----只是簡(jiǎn)單的腳本。
在一個(gè)項(xiàng)目當(dāng)中,尤其網(wǎng)頁(yè)開發(fā)項(xiàng)目,JavaScript幾乎是必不可少的語(yǔ)言,它不要編譯器,也不需要專門的解析器。只要客戶端機(jī)器上有瀏覽器,只要把開源的JavaScript 引擎加入瀏覽器中(幾乎所有的瀏覽器都支持,所有的電腦都有瀏覽器

而使用JavaScript,至少有下面這幾點(diǎn)好處:
1,增加交互動(dòng)態(tài)應(yīng)用,豐富界面應(yīng)用,提高用戶體驗(yàn)
2,節(jié)省后臺(tái)開發(fā)成本,減少后臺(tái)開發(fā)量, 顯示HTML/XHTML和格式化數(shù)據(jù)交給JS處理
3,節(jié)省網(wǎng)絡(luò)帶寬,讓瀏覽速度更快,減輕服務(wù)器壓力,XMLhttp 減少刷新數(shù)據(jù)
4,體現(xiàn)RIA,B/S模式的利器,通過JS可以達(dá)到C/S模式的效果
5,WEB版軟件最好的界面實(shí)現(xiàn)者,F(xiàn)lash,Applet也還不錯(cuò),不過目前JavaScrip是最好的
6,……
瀏覽器的兼容性或者用戶屏蔽JS雖然是個(gè)頭疼的問題,但絕大多數(shù)瀏覽器都在遵循ECMAScript1.5標(biāo)準(zhǔn),大多數(shù)用戶是不會(huì)禁用JS的,因?yàn)殛P(guān)閉JS使用互聯(lián)網(wǎng)幾乎是件困難的事。
雖然還有安全、開發(fā)和維護(hù)成本等等的不利因素在里面,但如果把JavaScript很好地與后臺(tái)結(jié)合起來(lái),JavaScript將是網(wǎng)頁(yè)開發(fā)非常重要的一門語(yǔ)言,甚至不亞于Java。現(xiàn)在利用Java、php做后臺(tái)的網(wǎng)站越來(lái)越多,而再有效結(jié)合JavaScript,利用JavaScript來(lái)t處理和顯示頁(yè)面,這樣,豐富互聯(lián)網(wǎng)應(yīng)用、提高用戶體驗(yàn)將成為可能。
JavaScript被程序員忽視這么久后,終于踏著RIA的步伐迎來(lái)了春天,不管怎么說(shuō),軟件程序從桌面走向網(wǎng)絡(luò)、走向?yàn)g覽器將是必然的趨勢(shì)。不是說(shuō)要取代桌面應(yīng)用,而是豐富互聯(lián)網(wǎng)應(yīng)用有太多的路要走。
而其中,桌面還是互聯(lián)網(wǎng)應(yīng)用其后臺(tái)是很類似的,都可以用Java,C,C#等等。而在前臺(tái),在互聯(lián)網(wǎng)軟件應(yīng)用上,JavaScript將會(huì)很好地?fù)?dān)任界面開發(fā)程序語(yǔ)言的角色。
畢竟,JavaScript不再僅僅是腳本,而是一門可以面向?qū)ο蟮某绦蛘Z(yǔ)言。當(dāng)然了,要想真正利用好JavaSript這門語(yǔ)言,精通一門后臺(tái)語(yǔ)言必不可少,而也只有這樣JavaScript才不會(huì)是僅僅是腳本。
這里我說(shuō)了大量JavaScript有利的一面,當(dāng)然JS依然存在著這樣那樣的問題,但我想RIA發(fā)展是個(gè)趨勢(shì),B/S模式也是一個(gè)趨勢(shì),JavaScript也還在一直向前發(fā)展(新的版本也在研究)。我相信隨著WEB2.0這種用戶與網(wǎng)站以及用戶之間的彼此交互應(yīng)用越來(lái)越多,也隨著網(wǎng)絡(luò)帶寬越來(lái)越快,RIA將會(huì)有一個(gè)很好的發(fā)展,而JavaScript在RIA中也將發(fā)揮越來(lái)越重要的作用。
JavaScript技術(shù):JavaScript 不只是腳本,轉(zhuǎn)載需保留來(lái)源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。