2018 年的報告,總共有來自 153 個不同的國家共 20,000 多名 JavaScript 開發者參與調查(中國佔總數的 0.37%,共 75 個開發者)。我們通過這個調查,來確定這些開發者正在使用什麼技術,他們喜歡哪些技術,以及他們對哪些技術感興趣。希望這個報告能幫助你在 JavaScript 生態之中找到適合自己的技術棧。

今年的報告和前兩年不同,取消了 CSS 部分。因為組織者認為 CSS 是一個龐大的話題,幾乎可以作為一個獨立的調查去做。所以這一次的報告就專注於 JavaScript。

除了沒有 CSS 之外,今年的報告主要圍繞著 Flavors、前端框架/庫、資料層、服務端框架、測試框架、Mobile & Desktop和其他工具這幾個方向進行展開調查,我們接下來就分別來看看各個方面的情況是怎麼樣的。

JavaScript “Flavors”

我們把可以編譯為 JavaScript 的各種語法和語言稱為 “flavors” ,例如 TypeScript。

從上圖中我們可以看到,除了 ES6 之外,TypeScript 是最受歡迎的,遠遠超過其他幾個同型別的。

在大多數地方,超過 40% 的開發者表示他們已經使用過它並且很樂意再次使用它,在一些國家,這個比例甚至超過了 50%。

前端框架

在我們的日常開發工作中,前端框架/庫都是不可或缺的,目前我們經常能夠聽到的就是 React、Vue、Angular,除此之外還有其他一些框架/庫,那他們的情況又是怎麼樣的呢?我們一起來看看:

通過上圖,我們可以看出,React 還是最受歡迎的,Vue 排名第二,但是從“使用過並且將再次使用”的比例來看,還是相去甚遠,不過這份接受這個報告的開發者更多是國外的,中國也許這個資料會有所不同。

下面這張圖表描繪了開發人員對前端庫的滿意程度,以及它們擁有的使用者數量之間的關係:

從目前來看,只有 React 兼有龐大的使用者群和高使用者滿意度,但我們相信 Vue 肯定也能夠實現這一目標。 另一方面,Angular 擁有龐大的使用者群,但其使用者似乎對它並不太滿意。

資料層

資料層對用於傳輸和管理資料的所有技術進行分組。

從上圖我們可以看到,雖然 Redux 在原始數量方面佔據主導地位,但我們認為這種趨勢更有利於 GraphQL 及相關技術(如 Apollo)。

當然,從理論上講,你可以將 Redux 和 GraphQL 結合使用,但實際上,這種組合最終可能會被特定於 GraphQL 的工具所取代,例如 Apollo 的內建狀態管理。

服務端框架

我們知道,Express 和 Koa 都是同一個作者 TJ 發起的,但是我們從上圖可以看到,“使用它,並將再次使用”的比例來看,Express 還是最受歡迎的,並且遠超於其他框架,目前 Next.js 排名第二,Koa 排名第三。

測試框架

從上圖的報告中我們可以看出,Jest 和 Mocha在受歡迎程度上基本差不多,但是 Jest 還是更受歡迎一些,也許是因為 React 和 Facebook 的原因,因為 Jest 可以說是 React 的標配啦,我們看到有 8.4% 的開發者曾經使用過 Mocha,但是以後將不再使用它。

Mobile & Desktop

“任何可以用 JavaScript 編寫的應用程式最終都會用 JavaScript 編寫。”JavaScript 不僅僅侷限於瀏覽器了。

從報告結果來看,Electron 雖然排在第一,但事實上 React Native 和它基本相同,只有不到 1% 的差距,不過他們兩個應該分別代表了桌面和移動端使用的框架吧。

開發者對 JavaScript 一些看法

從 2016 年到 2018 年,越來越多的人認為 JavaScript 正朝著正確的方向發展。

覺得「現在構建 JavaScript 應用過於複雜」的比例稍有降低,但是還是佔大部分。

超過 50% 以上的開發者認為 JavaScript 生態變化太快了,但是和前兩年相比,今年這個比例有所下降。

近 70% 開發者希望 JavaScript 成為他的主要程式語言。

線上完整版報告:https://2018.stateofjs.com/introduction

本文來自: UC國際技術