JavaScript 不只是指令碼

來源:互聯網
上載者:User

在這個技術論壇,給大家寫個我認為的JS。hoho

JavaScript似乎一直都當作是解析型的指令碼語言,程式開發人員往往對此不懈一顧。認為一個指令碼也沒有太多的難度,那似乎為不懂程式的人專門設計的東西,不值得真正搞開發的去研究和應用。

從LiveScript 到JavaScript,在大量的時間JS都只是作為一種Script指令碼在應用。更多的開發人員只有在前端表單驗證、以及諸如應用飄浮、移動、下拉聯動菜單等網頁特效或者必須通過介面才能得到的東西,比如用戶端的時間、解析度、以及一些在當前視窗操作的事件時才用得到它。於是JavaScript成了網頁特效語言,專門用來給頁面加上各種酷炫的效果了。JS似乎只能做些華而不實介面效果,甚至使用者還可以隨時屏蔽,一些瀏覽器工具條自動把 JavaScript給屏蔽了……

程式員對JavaScript的不重視,直接導致了JavaScript被忽視;而大量互連網特效應用,加速了JS被地當作一種指令碼。而直到Jesse James Garrett 把JavaScript XMLhttp DOM等組合在一起正式提出Ajax後,JavaScript才忽然地炙手可熱起來。加上Google、Yahoo、Microsoft等大型公司在Ajax方面的大量應用,JavaScript隨著Ajax也越來越受到關注。

Ajax是一種新瓶裝老酒的技術組合,或者說Ajax不是一種技術,而是一種概念。可正是這種能給互連網應用帶來革新的概念讓大家產生濃厚興趣,原因不僅在於技術組合本身,也在於互連網應用技術模式的發展趨勢。RIA的發展趨勢需要新的技術和方法來配合,Ajax在現階段正好滿足了豐富互連網應用的部分發展要求,而重新利用上和定位JavaScript將是一種較好實現 RIA的選擇。Ajax(或者說目前最佳豐富互連網技術應用)中真正的核心應當是JavaScript,目前的趨勢是需要用JavaScript這種程式語言來重構網頁、用JavaScript來格式化資料。而XMLhttp是一種傳輸資料的橋樑和協議,與原來GET和POST相類似,而XMLhttp很好地為JavaScript服務罷了。

實際上JavaScript就像 世界上最被誤解的語言(http://www.crockford.com/javascript/javascript.html)裡描述的JavaScript是世界上使用人數最多的程式設計語言之一,除了尾碼是-script讓人起疑之外,其他各種計算、流程式控制制、數組、函數一應俱全,與Java、C等等也很像。

當然也會程式員說,JavaScript不能操作文本(操作本地也不安全)、無法產生映像、也沒有物件導向、沒有類、沒有繼承、無法Debug,無法通過網路傳輸資料。所以,JavaScript不是一門真正意義上的程式語言。於是這樣JavaScript就被忽略為在僅在頁面設計當中使用的指令碼了。但是,當看到JSON這樣物件導向的JS應用、JS集合、3D圖形、Prototype裡類和繼承,再加上XMLhttp非同步傳遞網路資料,這時候還能說JavaScirpt僅僅是簡單的指令碼嗎?

幾年前就有先見者指明JavaScript是世界上最被誤解的語言,幸好,今天我們已經認識到JS的重要性,不會一直再誤會下去。

看到諸如
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/

這些應用時,JavaScript就不會只是被當成指令碼語言了。JavaScript具有物件導向的概念,也可以繼承類和拋出異常。正因為這些,也就是現下為何Ajax架構層出不窮,並且如此火爆的原因了。程式開發人員已經意識到JavaScript語言的重要性,以及重新認識它之後給網頁開發帶來的變革,對於無論是前端還是後台開發人員,JavaScript都不只是從前所認為的那樣-----只是簡單的指令碼。

在一個項目當中,尤其網頁開發項目,JavaScript幾乎是必不可少的語言,它不要編譯器,也不需要專門的解析器。只要用戶端機器上有瀏覽器,只要把開源的JavaScript 引擎加入瀏覽器中(幾乎所有的瀏覽器都支援,所有的電腦都有瀏覽器 ),不管是電腦還是手機,JavaScript都將很好地被支援。

而使用JavaScript,至少有下面這幾點好處:
1,增加互動Live App,豐富介面應用,提高使用者體驗
2,節省後台開發成本,減少後台開發量, 顯示HTML/XHTML和格式化資料交給JS處理
3,節省網路頻寬,讓瀏覽速度更快,減輕伺服器壓力,XMLhttp 減少重新整理資料
4,體現RIA,B/S模式的利器,通過JS可以達到C/S模式的效果
5,WEB版軟體最好的介面實現者,Flash,Applet也還不錯,不過目前JavaScrip是最好的
6,……

瀏覽器的相容性或者使用者屏蔽JS雖然是個頭疼的問題,但絕大多數瀏覽器都在遵循ECMAScript1.5標準,大多數使用者是不會禁用JS的,因為關閉JS使用互連網幾乎是件困難的事。

雖然還有安全、開發和維護成本等等的不利因素在裡面,但如果把JavaScript很好地與後台結合起來,JavaScript將是網頁開發非常重要的一門語言,甚至不亞於Java。現在利用Java、php做背景網站越來越多,而再有效結合JavaScript,利用JavaScript來t處理和顯示頁面,這樣,豐富互連網應用、提高使用者體驗將成為可能。

JavaScript被程式員忽視這麼久後,終於踏著RIA的步伐迎來了春天,不管怎麼說,軟體程式從案頭走向網路、走向瀏覽器將是必然的趨勢。不是說要取代案頭應用,而是豐富互連網應用有太多的路要走。

而其中,案頭還是互連網應用其後台是很類似的,都可以用Java,C,C#等等。而在前台,在互連網軟體應用上,JavaScript將會很好地擔任介面開發程式語言的角色。

畢竟,JavaScript不再僅僅是指令碼,而是一門可以物件導向的程式語言。當然了,要想真正利用好JavaSript這門語言,精通一門後台語言必不可少,而也只有這樣JavaScript才不會是僅僅是指令碼。

這裡我說了大量JavaScript有利的一面,當然JS依然存在著這樣那樣的問題,但我想RIA發展是個趨勢,B/S模式也是一個趨勢,JavaScript也還在一直向前發展(新的版本也在研究)。我相信隨著WEB2.0這種使用者與網站以及使用者之間的彼此互動應用越來越多,也隨著網路頻寬越來越快,RIA將會有一個很好的發展,而JavaScript在RIA中也將發揮越來越重要的作用。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.