JavaScript被淘汰了嗎?
我在許多不同的網(wǎng)站(最近是在Quora)上多次閱讀到這個問題,我一直在想這是不是真的。我在2018年才開始web開發(fā),所以我不了解JavaScript的歷史,也不了解它在開發(fā)領(lǐng)域的現(xiàn)狀。
因此,我進(jìn)行了一些研究去了解JavaScript的過去和現(xiàn)在,我發(fā)現(xiàn)的結(jié)果相當(dāng)令人震驚。
我們曾經(jīng)認(rèn)識的JavaScript確實已經(jīng)死了。
自1995年首次建立JavaScript以來,JavaScript一直存在很多問題。盡管進(jìn)行了一些更新,但許多主要問題仍然沒有得到解決。
JavaScript的一些問題包括:
缺少模塊系統(tǒng)
弱類型
高度依賴全局變量
由于語法的原因很難找到錯誤
在過去的十年中,用該語言很難創(chuàng)建框架。AngularJS最初是基于JavaScript的框架,直到遇到擴(kuò)展框架的問題,所以他們決定使用TypeScript(JavaScript的一種變體)重新編碼整個框架,并將其重命名為Angular。
人們對JavaScript的興趣似乎也在下降。通過查看過去5年“JavaScript”一詞在google上的搜索頻度,似乎也能看到這門語言正在慢慢走向衰落。
這意味著什么呢?JavaScript真的要死了嗎?
我當(dāng)時也這么想。當(dāng)我在2018年第一次學(xué)習(xí)JavaScript時,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個月更新一次)。開發(fā)人員對這些庫進(jìn)行了大量修改(尤其是前端框架),并在保持JavaScript的相關(guān)性方面發(fā)揮了巨大作用。
這也可以解釋為什么上面顯示的谷歌趨勢圖是向下的。對術(shù)語“JavaScript”的實際搜索呈下降趨勢,但對JavaScript庫的搜索呈上升趨勢。
隨著JavaScript庫的興起,也有越來越多的用戶提出與這些庫有關(guān)的問題。StackOverflow趨勢記錄了他們的問題與某個標(biāo)簽相關(guān)的百分比??纯丛谶^去的十年中有多少關(guān)于JavaScript的問題:
這解決了涉及JavaScript的問題,
但是否解決了這門語言本身的問題呢?
多年來,人們對JavaScript的抱怨主要集中在其糟糕的語言特性上。值得慶幸的是,我們正在看到一個舊標(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ì)的前十年一直保持著陳舊和過時的標(biāo)準(zhǔn)。直到2015年ECMAScript 6發(fā)行,這是對JavaScript的重大更改,允許許多類似的庫對其進(jìn)行修改。
自此ECMAScript已發(fā)布了5個版本,從2015年到2020年每年發(fā)布1個版本,并且現(xiàn)在還沒有停止。隨著發(fā)布版本步調(diào)的一致性,JavaScript開始不斷接收更新,變得更加健壯、高效,并且適應(yīng)性更強(qiáng)。
說了這么多,JavaScript真的死了嗎?
有些人會懷疑現(xiàn)在開始學(xué)習(xí)是否為時已晚。正確的答案是JavaScript從未像現(xiàn)在這樣活躍。
隨著對該語言的貢獻(xiàn)和支持達(dá)到前所未有的高度,學(xué)習(xí)該語言對開發(fā)者來說將是一筆巨大的財富。因為有如此多的庫可以選擇,你可以只使用JavaScript框架組成整個堆棧。
要求開發(fā)人員具有React和Angular經(jīng)驗的公司數(shù)量正在大幅增加,并且沒有放緩的趨勢。
我建議你花些時間學(xué)習(xí)JavaScript。無論你打算從事該行業(yè)還是只是想學(xué)習(xí)它,我認(rèn)為將來需要在應(yīng)用程序中使用JavaScript的地方有很多。該語言將被用在越來越多的框架中。它是未來的趨勢,而且發(fā)展得很快。
-
算法
+關(guān)注
關(guān)注
23文章
4710瀏覽量
95405 -
應(yīng)用程序
+關(guān)注
關(guān)注
38文章
3337瀏覽量
59042 -
javascript
+關(guān)注
關(guān)注
0文章
525瀏覽量
54822
發(fā)布評論請先 登錄
cyusb3014在安裝驅(qū)動的時候,默認(rèn)的pid變成了pid_00bc,不再是默認(rèn)的pid_00f3,如何改回默認(rèn)的pid_00f3呢?
第一代半導(dǎo)體被淘汰了嗎

DFM裁員裁到大動脈了嗎?更新后一大堆問題?。?!
SciChart—高性能的JavaScript圖表和圖形庫

Spire.XLS for JavaScript——多功能JavaScript電子表格庫(一)

評論