2003 年,保羅·格雷厄姆(Paul Graham) 曾撰文提到,他的公司決定使用 Lisp。在該文章中他將 Lisp 描繪成計算機語言界的法語,它獨特、深邃,能夠表達難以描述的事物。
如果 Lisp 像法語,那么現如今的 JAVAScript 就像英語一般。盡管二者的語法不一致,但英語是世界上最廣泛使用的語言,JavaScript 是最廣泛應用的計算語言。
然而,JavaScript 似乎沒有得到相應的尊重。很多大公司的高級工程師聲稱它不是一門「真正的」編程語言,不知道它除了操作像素外它還有什么用途...
但其實除了樣式效果外,JavaScript 也被越來越多地應用于軟件開發,例如后端任務、Web 服務器以及數據處理。Zeit 首席執行官 Guillermo Rauch 指出,JavaScript“不是人為設計出來的,它是在進化過程中得到的結果。是市場的力量改造了這門語言。
借著這次 State Of JS 發布的第四版「JavaScript 現狀調查報告」,我們一起來看一看 JavaScript 現在到底是個什么情況?
JavaScript 是什么?
JavaScript(通常縮寫為JS)是一種高級的、解釋型的編程語言。JavaScript 是一門多范式的,基于原型、函數先行的語言,它支持面向對象編程,命令式編程,以及函數式編程。目前已被世界上的絕大多數網站所使用,也被世界主流瀏覽器(Chrome、IE、Firefox、Safari、Opera)支持。
雖然 JavaScript 與 Java 這門語言不管是在名字上,或是在語法上都有很多相似性,但這兩門編程語言從設計之初就有很大的不同,JavaScript 的語言設計主要受到了 Self(一種基于原型的編程語言)和 Scheme(一門函數式編程語言)的影響。在語法結構上它又與 C 語言有很多相似(例如 if 條件語句、switch 語句、while 循環、do-while 循環等)。
在客戶端,JavaScript 在傳統意義上被實現為一種解釋語言,但在最近,它已經可以被即時編譯(JIT)執行。隨著最新的 html5 和 css3 語言標準的推行它還可用于游戲、桌面和移動應用程序的開發和在服務器端網絡環境運行,如 Node.js。
2019 年 JavaScript 現狀調查報告
State Of JS 方面表示,因 JavaScript 的生態系統發展未能盡如人意的原因,其又發布了 2019年的 JavaScript 現狀調查報告。今年的 JavaScript 狀態是該調查的第四版,覆蓋了21,717位受訪者。客戶數據可視化專家 Amelia Wattenberger 針對 JavaScript 生態系統進行了全面的概述。
2016年 - 2019年 趨勢圖
1. JavaScript 現狀
“風味(Flavors)”
截止到 2019 年度,排名第一的為 TypeScript。此外,背后有著 Facebook 支持的Reason 也值得關注,但關注度層面,TypeScript 一枝獨秀。
前端框架
截止到 2019 年度,排名第一的為 React,但前三名的競爭依然很激烈,
資料層
排名第一的依然是 graphql,但 Redux 是目前使用最廣泛的工具。同時,Apollo 的用戶數也在持續上漲,已從 2018 年的 11.1% 增加到了 24.9%。
后端框架
JavaScript 在后端領域近年來似乎沒有取得任何重大突破唯一比較亮眼的是 Next.js 表現良好,用戶數已從 2018 年的 8.6% 上升到了 24.7%。
測試
移動和桌面
React Native 和 Electron 仍是使用 Web 技術構建移動和桌面應用的兩個主要解決方案。
2. 其他工具
您經常使用哪些實用程序庫?
其他實用程序
您經常使用哪種文本編輯器?
在初始開發過程中,您主要使用哪種瀏覽器?
您還使用其他哪些編程語言?
3. JavaScript 相關意見匯總
JavaScript 朝著正確的方向發展
現在構建 JavaScript 應用程序過于復雜
JavaScript在線使用過多
我喜歡構建 JavaScript 應用程序
我希望 JavaScript 成為我的主要編程語言
JavaScript 生態系統變化太快
4. 結論
您知道有時候您有時會開始在這里和那里調整幾行代碼,然后意識到幾個函數可以使用一些重構,然后在建立全新堆棧的幾天后發現一件導致另一件事情的事情。完成數據庫和GraphQL API?
這就是我們今年發生的事情。雖然這導致了很多緊張的夜晚,但我們試圖總結一下并在2019年發布JavaScript 2019狀態報告; 這也意味著我們現在有了一個功能更強大,更靈活的堆棧,可以收集和分析以后的數據。
這將有助于分析所有新工具的發展,這些新工具開始引起轟動,例如Svelte,Stencil,Sporky,Nest或Flutter。是的,我只是組成了那五個中的一個,但是承認了:您有片刻的懷疑不是嗎?
但是不用擔心。無論社區不斷向您扔出多少個怪異的庫,我們都會在那里幫助您解決所有這些混亂情況……也就是說,如果我們不忙于進行另一次重構以使我們的代碼完美無缺!
–薩莎和拉斐爾
官方表示,他們將發布自己的JavaScript T恤,以資助之后的工作。這件襯衫的特征是“ JavaScript周期表”,其中列出了按類別分組的最受歡迎的庫,以及它們的 GitHub 星級數(以千計)。
不得不說,這件襯衫是熟悉 JavaScript 生態系統的路徑之一,也是個充值信仰的好方法哈哈哈哈~
查閱 《The State of Javascript 2019》 完整報告,請復制下方鏈接到瀏覽器:
https://2019.stateofjs.com/