|
Web項(xiàng)目大大小小也做過(guò)十幾個(gè)了,JavaScript代友也寫了上萬(wàn)行。發(fā)現(xiàn)在前端開(kāi)發(fā)上,大家都沒(méi)有統(tǒng)一的想法。首先是框架選擇,現(xiàn)在看來(lái),除了那種只有幾個(gè)頁(yè)面的小網(wǎng)站,毫無(wú)疑問(wèn)應(yīng)該以JQuery這樣的成熟框架為主,自己寫的擴(kuò)展為輔。很多項(xiàng)目負(fù)責(zé)人不想用JQuery,可能網(wǎng)站連GZip不支持或者不設(shè)置,現(xiàn)在都什么年代了?再者盡管掌握很容易,畢竟要學(xué)習(xí),一談到學(xué)習(xí)很多Senior人士就不玩了。
JQuery本身也有問(wèn)題,所有功能都在一個(gè)文件里,其實(shí)可以分成幾個(gè)小一點(diǎn)文件,就像命名空間一樣劃分。再者更新太快,瀏覽器甚至JS核心想嵌入它,還是很遙遠(yuǎn)的事。
JavaScript也沒(méi)有太好的開(kāi)發(fā)平臺(tái),用來(lái)教新手入門很方便,代碼一多,就覺(jué)得亂得不得了。大家越用越不爽,一些復(fù)雜的效果,其實(shí)JavaScript完全做得來(lái),也被Flash,將來(lái)還有SilverLight搶走了。HTML5標(biāo)準(zhǔn)快出臺(tái)了,我曾預(yù)測(cè)會(huì)很大程度上代替Flash甚至SilverLight。但現(xiàn)在看來(lái),JavaScript在開(kāi)發(fā)上的弱點(diǎn)會(huì)制約HTML5的新特性的應(yīng)用,也會(huì)嚴(yán)重影響HTML5的普及。在HTML5下,能做的事情就更多了,但編寫起來(lái)應(yīng)該會(huì)更不爽,結(jié)果Flash和SilverLight活得更滋潤(rùn)(這兩個(gè)互掐就不算了),各自的語(yǔ)言、框架、IDE、粉絲一個(gè)不少,Web前端開(kāi)發(fā)延續(xù)分裂格局。
除非,JavaScript自己改變,既能解釋執(zhí)行又能編譯執(zhí)行,定義類型可動(dòng)態(tài),又可靜態(tài),這點(diǎn)很重要,這樣才能進(jìn)行類型推斷,智能提示,微軟也好,開(kāi)源方也好才有興趣做真正為JavaScript量身打造的IDE。對(duì)語(yǔ)言模式、規(guī)范的研究將為JS語(yǔ)言注入新的活力。但這變化太革命性,沒(méi)可行性,這么多瀏覽器,這么多廠商,怎么一致,誰(shuí)能協(xié)調(diào)的了。除非有革命性的事件,上文說(shuō)了,就是瀏覽器取代操作系統(tǒng),桌面變成頁(yè)面,這雖然有可能,但太遙遠(yuǎn)。
何況將來(lái)桌面變成頁(yè)面,未必就是HTML,我看更可能是RIA。但Flash沒(méi)這雄心,喬布斯說(shuō)Adobe的人太懶得變化,又不開(kāi)源。JavaFx太嫩了,Sun公司又被吞并了,未來(lái)沒(méi)媽的孩子-苦。SilverLight同樣嫩,出身太硬,有賊心有賊膽。盡管現(xiàn)在Flash還占絕對(duì)優(yōu)勢(shì),不過(guò)一旦時(shí)勢(shì)有變,RIA應(yīng)用進(jìn)入桌面,只見(jiàn)銀光灑滿天。
若微軟強(qiáng)勢(shì)逆推SilverLight,是因早已預(yù)見(jiàn)到這一天,那就更有點(diǎn)可怕了。
回過(guò)來(lái)說(shuō)JavaScript,可以預(yù)見(jiàn),它在編程語(yǔ)言榜第十的地位,它的生態(tài)環(huán)境短期內(nèi)不會(huì)有什么變化。JS執(zhí)行的速度越來(lái)越快,開(kāi)發(fā)中的困擾依舊。
當(dāng)然,您要是精通JavaScript,也是很令人佩服的,薪水應(yīng)該也不會(huì)低。然而比起C/php/Java/C#這些語(yǔ)言說(shuō),只寫前端,真得是比較沒(méi)前途。所以,我也沒(méi)動(dòng)力向精通的門檻邁進(jìn)了,所以繼續(xù)接受困擾,快習(xí)慣了,趁習(xí)慣麻木前記錄下來(lái),不然以后連思考都沒(méi)了。
謹(jǐn)慎地決定要學(xué)SilverLight。
it知識(shí)庫(kù):對(duì)JavaScript開(kāi)發(fā)中困擾的思考,轉(zhuǎn)載需保留來(lái)源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。