JavaScript被淘汰了嗎?
我在許多不同的網(wǎng)站(最近是在Quora)上多次閱讀到這個(gè)問題,我一直在想這是不是真的。我在2018年才開始web開發(fā),所以我不了解JavaScript的歷史,也不了解它在開發(fā)領(lǐng)域的現(xiàn)狀。
因此,我進(jìn)行了一些研究去了解JavaScript的過去和現(xiàn)在,我發(fā)現(xiàn)的結(jié)果相當(dāng)令人震驚。
我們?cè)?jīng)認(rèn)識(shí)的JavaScript確實(shí)已經(jīng)死了。
自1995年首次建立JavaScript以來,JavaScript一直存在很多問題。盡管進(jìn)行了一些更新,但許多主要問題仍然沒有得到解決。
JavaScript的一些問題包括:
缺少模塊系統(tǒng)
弱類型
高度依賴全局變量
由于語法的原因很難找到錯(cuò)誤
在過去的十年中,用該語言很難創(chuàng)建框架。AngularJS最初是基于JavaScript的框架,直到遇到擴(kuò)展框架的問題,所以他們決定使用TypeScript(JavaScript的一種變體)重新編碼整個(gè)框架,并將其重命名為Angular。
人們對(duì)JavaScript的興趣似乎也在下降。通過查看過去5年“JavaScript”一詞在google上的搜索頻度,似乎也能看到這門語言正在慢慢走向衰落。
這意味著什么呢?JavaScript真的要死了嗎?
我當(dāng)時(shí)也這么想。當(dāng)我在2018年第一次學(xué)習(xí)JavaScript時(shí),JavaScript已擴(kuò)展為不僅僅面向客戶端應(yīng)用程序,已經(jīng)擴(kuò)展出許多涉及應(yīng)用程序不同周期的框架。
基于js的框架包括下面這些:
前端應(yīng)用程序(Angular,React,Vue.js)
后端應(yīng)用程序(Node.js,Express.js,Meteor.js)
Android / iOS(React Native,NativeScript,Ionic)
您可以在這里找到JavaScript庫的完整列表:https://en.wikipedia.org/wiki/List_of_JavaScript_libraries
上面列表中的大部分JavaScript庫是在過去10年中創(chuàng)建的。這些庫有很多社區(qū)支持,并保持步調(diào)一致的更新(Angular平均每6個(gè)月更新一次)。開發(fā)人員對(duì)這些庫進(jìn)行了大量修改(尤其是前端框架),并在保持JavaScript的相關(guān)性方面發(fā)揮了巨大作用。
這也可以解釋為什么上面顯示的谷歌趨勢(shì)圖是向下的。對(duì)術(shù)語“JavaScript”的實(shí)際搜索呈下降趨勢(shì),但對(duì)JavaScript庫的搜索呈上升趨勢(shì)。
隨著JavaScript庫的興起,也有越來越多的用戶提出與這些庫有關(guān)的問題。StackOverflow趨勢(shì)記錄了他們的問題與某個(gè)標(biāo)簽相關(guān)的百分比??纯丛谶^去的十年中有多少關(guān)于JavaScript的問題:
這解決了涉及JavaScript的問題,
但是否解決了這門語言本身的問題呢?
多年來,人們對(duì)JavaScript的抱怨主要集中在其糟糕的語言特性上。值得慶幸的是,我們正在看到一個(gè)舊標(biāo)準(zhǔn)的復(fù)蘇,這有助于使語言更加具體和有效。
ECMAScript是一種編程語言,根據(jù)Ecma International創(chuàng)建的ECMA-262文檔進(jìn)行標(biāo)準(zhǔn)化。該文檔包含JavaScript作為編程語言必須遵循的標(biāo)準(zhǔn)列表。
ECMAScript創(chuàng)建于1997年,從1997年到2011年僅進(jìn)行了5次更新。這使JavaScript在21世紀(jì)的前十年一直保持著陳舊和過時(shí)的標(biāo)準(zhǔn)。直到2015年ECMAScript 6發(fā)行,這是對(duì)JavaScript的重大更改,允許許多類似的庫對(duì)其進(jìn)行修改。
自此ECMAScript已發(fā)布了5個(gè)版本,從2015年到2020年每年發(fā)布1個(gè)版本,并且現(xiàn)在還沒有停止。隨著發(fā)布版本步調(diào)的一致性,JavaScript開始不斷接收更新,變得更加健壯、高效,并且適應(yīng)性更強(qiáng)。
說了這么多,JavaScript真的死了嗎?
有些人會(huì)懷疑現(xiàn)在開始學(xué)習(xí)是否為時(shí)已晚。正確的答案是JavaScript從未像現(xiàn)在這樣活躍。
隨著對(duì)該語言的貢獻(xiàn)和支持達(dá)到前所未有的高度,學(xué)習(xí)該語言對(duì)開發(fā)者來說將是一筆巨大的財(cái)富。因?yàn)橛腥绱硕嗟膸炜梢赃x擇,你可以只使用JavaScript框架組成整個(gè)堆棧。
要求開發(fā)人員具有React和Angular經(jīng)驗(yàn)的公司數(shù)量正在大幅增加,并且沒有放緩的趨勢(shì)。
我建議你花些時(shí)間學(xué)習(xí)JavaScript。無論你打算從事該行業(yè)還是只是想學(xué)習(xí)它,我認(rèn)為將來需要在應(yīng)用程序中使用JavaScript的地方有很多。該語言將被用在越來越多的框架中。它是未來的趨勢(shì),而且發(fā)展得很快。
-
算法
+關(guān)注
關(guān)注
23文章
4587瀏覽量
92505 -
應(yīng)用程序
+關(guān)注
關(guān)注
37文章
3237瀏覽量
57547 -
javascript
+關(guān)注
關(guān)注
0文章
515瀏覽量
53753
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論