原創(chuàng)|行業(yè)資訊|編輯:龔雪|2014-01-22 09:23:07.000|閱讀 246 次
概述:本文詳細(xì)闡述了堅(jiān)持JavaScript的四大原由。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門(mén)軟控件火熱銷(xiāo)售中 >>
隨著JavaScript逐漸征服世界,一系列相關(guān)的技術(shù)也陸續(xù)崛起,從Node.js到大量編譯為JavaScript的新語(yǔ)言。
以這樣或那樣的形式,這些新語(yǔ)言包括TypeScript、CoffeeScript、ClojureScript 和Google's Dart,它們都有一個(gè)共同目標(biāo)——更輕松地寫(xiě)JavaScript應(yīng)用。為什么這些語(yǔ)言正成為短期過(guò)渡技術(shù)而不是像JavaScript本身那樣的長(zhǎng)期型。下面,就讓我們來(lái)看看正在增長(zhǎng)的幾大原由。
一,直接在JavaScript中寫(xiě)代碼將讓你離受眾越來(lái)越遠(yuǎn)
如果你明確的JavaScript代碼,它代表著被廣泛采用帶來(lái)的更好的改變。用任一中間代碼寫(xiě),你將基本上結(jié)束以那些中間語(yǔ)言受眾為目標(biāo)——因?yàn)闆](méi)有那么大的用戶(hù)基礎(chǔ)(除非以那些用戶(hù)為目標(biāo)是你的目的)。
同樣,在JavaScript中直接寫(xiě)還意味著可能被那些剛?cè)腴T(mén)的人所感激。學(xué)習(xí)、寫(xiě)、調(diào)試和執(zhí)行JavaScript的絕大多數(shù)資源都是專(zhuān)注于核心語(yǔ)言而不是其中間目標(biāo)之一。這并不是說(shuō)這種事情不存在——舉個(gè)例子,CoffeeScript上的books,它們是少數(shù)派,而非不存在,僅此而已。
二,中間的并不是那么流行
中間語(yǔ)言在特定的圈子中很受親睞也常被使用。但它們?cè)谀侵夂茈y得到任何牽引。最近JavaScript開(kāi)發(fā)人員的一份報(bào)告表明少數(shù)的(22%)參與者以編譯為JavaScript的語(yǔ)言做開(kāi)發(fā),CoffeeScript,受到絕大多數(shù)人的歡迎(85%),但它依然是一種邊緣情況,而非像jQuery那樣的主流。
一份對(duì)更廣泛的開(kāi)發(fā)人員的調(diào)查表明了JavaScript作為一個(gè)整體和其它語(yǔ)言的不同。JavaScript已經(jīng)保持在大眾所使用語(yǔ)言的前十位,而CoffeeScript及其它甚至沒(méi)進(jìn)前100。
三,下一代JavaScript以提供大量由中間語(yǔ)言所提供的功能為目標(biāo)
開(kāi)發(fā)人員Matt Greer在最近的一篇博客中談道:CoffeeScript中的很多功能,諸如箭頭功能或?qū)ο笪淖炙儆?,都被列于JavaScript下一代更新計(jì)劃中。人們很容易忘記,JavaScript本身是不斷進(jìn)化的。
四,第三方JavaScript庫(kù)可以添加大量缺失的功能
為JavaScript所寫(xiě)的豐富的第三方庫(kù)已經(jīng)在擴(kuò)展語(yǔ)言功能甚至語(yǔ)法上走了很長(zhǎng)很長(zhǎng)的路。jQuery是一個(gè)典例:它被廣泛使用,它久經(jīng)沙場(chǎng),它還增加了很大靈活性——讓事情更容易被認(rèn)知和操作。許多其它同類(lèi)的庫(kù)也浮出水面,諸如Args.js,支持可選的和默認(rèn)的功能參數(shù)。如果這樣的JavaScript原生擴(kuò)展可用,則沒(méi)有太大必要去轉(zhuǎn)成一整套新語(yǔ)言。
如果一個(gè)程序員對(duì)于CoffeeScript或其他中間語(yǔ)言感到很舒服和高興,他有足夠的理由堅(jiān)持下去。但JavaScript作為一個(gè)整體的未來(lái)——它作為一個(gè)語(yǔ)言及其周邊生態(tài)環(huán)境的進(jìn)化,保證這些方式對(duì)于最大程度利用JavaScript而言并不會(huì)像從前那么至關(guān)重要。
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自:慧都控件網(wǎng)