當前位置:
首頁 > 科技 > Angular 垮台、ES6 最受歡迎,20,000 名程序員告訴你誰是 JS 王者!

Angular 垮台、ES6 最受歡迎,20,000 名程序員告訴你誰是 JS 王者!

任何能夠用 JavaScript 實現的應用,最終都必將用 JavaScript 實現。

無論是編程語言還是工具,隨著時間的推移,都會不斷的更新及變化,就當今使用最為廣泛的 Web 開發語言 JavaScript 來看,新的庫、新的框架、新的衍生語言層出不窮,這一切雖是好事但也讓身處其中的開發者感覺頭大,因為更新得太快極容易讓人找不著北。

近日,stateofjs.com 網站正式發布了《2018 年 JavaScript 年度調查報告》,該報告調查了超過 20,000 名 JavaScript 開發者,解讀他們日常最為常用的工具以及框架,並探究其中讓他們最為滿意以及期望的技術,以此希望幫助技術之路上的同行者們在龐大的 JavaScript 生態系統中更能實現自己的目標。

註:和去年的 JavaScript 調查相比,今年的調查報告中不包含 CSS 部分。

JavaScript 調查報告數據:153 個國家、20000 名程序員

今年,該報告數據囊括了全球 153 個不同國家的 20000 多名開發者,其中美國受訪者佔比最高,為 24%,其次是德國和澳大利亞,受訪者人數均超過 5%,而中國受訪者佔比 0.37%。

在中國的受訪者中,他們的平均年薪為 37300 美元。

JavaScript 的擴展語言:ES6 獨佔鰲頭

隨著 JavaScript 的逐漸成熟,開發者跳出 JavaScript 所畫的圈,開始創建各種衍生的編程語言和語法,其中典型的就有 ES6、TypeScript、Flow、Reason、Elm、ClojureScript 等等。

ES6

ES6(ECMAScript 6)是 JavaScript 語言的下一代標準,早已在 2015 年 6 月正式發布。要問兩者之間的關係,可以用ECMAScript 是 JavaScript 語言的國際標準,JavaScript 是 ECMAScript 的實現這句話來形容。

在本次調查者報告中,ES6 頗受開發者的喜愛,曾經使用過表示還想用的程序員佔比高達 86.3%。而這主要得益於 ES6 優雅的編程風格和模式,其次的原因是強大的功能和優秀的學習文檔。

TypeScript

接下來,說到由微軟開發的開源編程語言 TypeScript,它是 JavaScript 的一個超集,憑藉著強大的功能、優雅的編程風格和模式以及完善的開發者工具受到超過 40% 的開發者歡迎,在一些國家,該佔比甚至超過了 50%。

Flow

使用排名第三的 Flow,是一個用於 JavaScript 的靜態類型檢查器,最早於 2014 年的 Scale 大會上由 Facebook 推出。它的目標是不需要開發人員去頻繁的修改實際代碼,就能找到 JavaScript 代碼中的類型錯誤,從而大大節省這方面時間與精力的消耗。在受訪者中,喜歡使用 Flow 的最主要原因也是因為它強大的功能,可以減少代碼出錯,其次是 Flow 簡單易學。

Reason

對於 Facebook 推出的另一款語言 Reason,他的設計者和當前較為流行的跨平台開發工具 React Native 的作者是同一個人,Jordan Walker。不過在國內,似乎很多開發者並不看好這門語言。根據調查顯示,大部分開發者不喜歡的原因有笨拙的編程風格、語言臃腫且複雜而且難於上手。

整體而言,受歡迎的 ES6、TypeScript 獲得高薪的機會也更大。

總結

過去一段時間裡,CoffeeScript 是 JavaScript 擴展方向的唯一支持者,但今天它顯然已經被 ES6 及其後續版本、TypeScript、Flow、甚至是具有非常不同語法的語言(如 Elm 和 Reason)所取代。

而這些不同語言的到來可以被認為是整個 JavaScript 的未來。因為像 Web Assembly 這樣的項目出現,直接使用 JavaScript 編寫代碼就會變得很怪,畢竟開發者會使用像 Rust 那樣的語言。

端框架:Angular 難超越React、Vue.js

對於前端的主流框架,可謂是鐵打的 React、Vue.js、Angular。

不過和 2009 年誕生的 Angular 以及2013 年 5 月開源的 React 相比,後出現的Vue 顯得沒有那麼出名。根據數據調查報告顯示,兩年前,27% 的受訪者甚至從未聽說過 Vue。不過如今,這一比例已經降至 1.3%。雖然 React 仍然擁有更大的市場份額,但 Vue 的迅速崛起也沒有停止的跡象。實際上,今年 6 月在 GitHub 平台上,Vue 一舉超過了 React。

除此之外,Google 的 Angular 似乎也在走下坡路,甚至就在幾天前,還有開發者吐槽了Angular 帶來的種種坑。雖然在本次調查中,Angular 擁有龐大的用戶群且在使用率上位居第三,佔比 41%,不過也很難看到它重登前端的冠軍寶座。至於其中的原因,不少受訪者表示 Angular 過於臃腫和複雜,且不易上手。

從薪資方面來看,最受歡迎的 React 拿到高薪的機會更多,其次是 Vue、Angular。

數據層:Redux 使用最為廣泛

在過去美好的時光,一切都很簡單。只要把數據存儲在資料庫中,伺服器從中獲取數據,再將其調用到代碼中,接而將整個數據發送到客戶端。

如今在 JavaScript 生態的數據層,一切都變得複雜起來,當前應用程序需要知道如何自己獲取數據以呈現到代碼和組建中。於是,這就產生了一系列數據提取和數據管理工具。

毫無疑問,Redux 是其中使用最廣泛的工具,有 82% 的滿意率證明了它的成熟程度。

不過,這個佔比在未來極有可能會受到 GraphQL 的衝擊。因為過去兩年內,GraphQL 的用戶量從 5% 一路飆升到 20%,同時這部分的用戶還有另一個選擇是 Apollo。除此之外,最新版本的 Apollo 也可替代 Redux ,如果明年的結果發生巨大的變化,那也不足為奇。

後端框架:穩居第一的 Express

伺服器端的 JavaScript 應用與以往並沒有太大的不同。雖然每年依舊會有無數框架出現,但很少有人能夠獲得重大的突破並挑戰 Express 的地位。即使是被稱之為 Express 的繼任者 Koa 也是如此,它的滿意度雖排第三,但只有 7.6%(並且它的使用數量也在大大降低)。

這個領域還有一個有趣的參與者是 Next.js,最近引起了很多人的興趣。雖然它與功能齊全的 Node 後端不太可比,但它專註於解決 React 應用程序的伺服器端呈現商務問題,使其成為一個非常有用的工具。

測試

在 JavaScript 的生態系統中,其他部分的技術已經逐漸開始融合,但是測試部分仍然非常分散。許多不同的、互補的工具從中作用。即便如此,開發者對他們的整體測試解決方案還是感到滿意,最低的滿意度為 68%。

根據數據報告顯示,Mocha 仍然是最常用的單位測試框架,擁有超過 1 萬用戶。且它已經存在很長一段時間,擁有最大的生態系統,大多數 Node.js 開發者應該對它都比較熟悉。

Facebook 推出的測試框架 Jest 在使用方面緊隨其後,但其滿意度相較於 Mocha 略高:96% vs 82%。放眼整個報告,96% 是今年整個調查中佔比第二高的滿意率。第一名是 ES6。

這表明開發人員真的很感激 Facebook 所做的努力,提供了一個功能齊全的測試框架,可以用來測試前端(它在開始時的目的是測試 React 組件)和後端代碼,而不需要組態。

移動&桌面

2007 年,著名程序員 Jeff Atwood 提出了一條 Atwood 定律,即「任何可以用 JavaScript 編寫的應用程序最終都會用 JavaScript 編寫。」當前的JavaScript 不再局限於瀏覽器,它在桌面以及移動端都有更廣闊的應用空間。

根據調查數據顯示,React Native 和 Electron 是使用 Web 技術構建移動和桌面應用的兩個主要解決方案。巧的是,他們在滿意度和用戶數量方面都表現出相似的佔比。

Electron 的多功能性(它可以與任何 UI 框架一起使用,即使它通常與 React 或 Vue.js 相關聯)也可以解釋為什麼它獲得了最高的滿意度。

但是這種現狀未來可能會發生變化,因為不少大廠如Airbnb曾經發文表示決定放棄 React Native 而轉向 Native Apps用於他們的下一代產品。作為 React Native 的替代方案,想要在不使用 React 模式的情況下使用 JavaScript 編寫跨平台應用的開發人員也可以看看 Weex ,這可以讓他們進入 Vue.js 生態。

另外,Google 在移動和桌面應用領域也有幾個有趣的參賽者,比如構建於 Puppeteer 全新的 Headful Node 應用框架 —— Carlo ; 以及備受國內用戶關注的 Flutter,它不像 React Native 那樣需要搭建一個 JavaScript 橋樑,而是編譯為真正的本機代碼,不過代碼是由 Dart 編寫的。

其他工具

在 JavaScript 的生態系統中,不局限於庫和框架,還有一些我們日常都在使用的小工具,其中包括代碼打包的捆綁包以及用於編寫代碼的文本編輯器。除此之外,JavaScript 開發者還喜歡使用哪些編程語言及工具,接下來,我們將一窺究竟。

其他編程語言

根據調查顯示,Python 在 JavaScript 生態中最受開發者的歡迎,其次是 PHP、Java、C#、.NET 等語言,而基於 JavaScript 編譯的編程語言 ClojureScript 僅排名第 15 位。

瀏覽器 API

構建工具

常用的庫

文本編輯器

最後對於該報告要特別感謝:

Sacha Greif:設計、寫作、編碼;

Raphael Benitte:數據分析、可視化;

Michael Rambeau:寫作、補充統計數據。

更多內容可詳見完整報告:

https://2018.stateofjs.com/

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 CSDN 的精彩文章:

除了寫代碼,還能如何晉陞為高級工程師?
為什麼說擔心 AI 搶人類飯碗純粹是多餘?

TAG:CSDN |