2003 年,保羅·格雷厄姆(Paul Graham) 曾撰文提到,他的公司決定使用 Lisp。在該文章中他將 Lisp 描繪成計算機語言界的法語,它獨特、深邃,可以表達難以描述的事物。javascript
若是 Lisp 像法語,那麼現現在的 JavaScript 就像英語通常。儘管兩者的語法不一致,但英語是世界上最普遍使用的語言,JavaScript 是最普遍應用的計算語言。前端
然而,JavaScript 彷佛沒有獲得相應的尊重。不少大公司的高級工程師聲稱它不是一門「真正的」編程語言,不知道它除了操做像素外它還有什麼用途...java
但其實除了樣式效果外,JavaScript 也被愈來愈多地應用於軟件開發,例如後端任務、Web 服務器以及數據處理。Zeit 首席執行官 Guillermo Rauch 指出,JavaScript「不是人爲設計出來的,它是在進化過程當中獲得的結果。是市場的力量改造了這門語言。 數據庫
藉着此次 State Of JS 發佈的第四版「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。前端框架
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》 完整報告,請掃碼關注下方 SegmentFault 官方微信,回覆關鍵字「javascript」便可。