前段時間國外的開發者針對2017年JavaScript的現狀做了一個調查並給出了相關調查報告。本文針對他的調查報告總結進行了翻譯,如有問題歡迎留言。
我最近公佈了2017年版年度JavaScript調查的結果,該調查覆蓋了了23000多名開發者。
這份調查結果揭示了很多資訊,從流行趨勢到薪資細分。如果你還沒有看過這邊調查,你會想自己看一看。但在所有這些資料中,以下10點是我最令我關注的。
即使您已經看到了調查結果,您也可能希望檢視我們剛剛新增的新特性和意見。
1: React 最受歡迎
今年的結果證實了去年的趨勢:React是目前最受歡迎的前端庫。
早期對React的批評(通常集中在HTML和JS混合的方式)現在看起來像是一個遙遠的記憶。今年,Facebook 通過取消他們的“專利”條款,平復了開發者們的最後抗議。
在使用者數量和開發人員滿意度都處於歷史最高水平的情況下,可以肯定地說,React是目前最受歡迎的,至少目前是這樣。
2: Angular正在轉向一個新的角色
這並不意味著你可以忽略Angular。雖然他已沒有React那樣的活力,但它有一些強大的基因在身上。
首先,Angular 有 Google 背後的支援。如你所知,一些業內最好的全職工程師在不斷的改善Angular。
同時還有一個重要的點需要要指出,Angular仍然有一個龐大的使用者基礎。銀行、政府和其他大公司並不能像一般的自由職業者那樣迅速地採用最新的技術,他們通常有大量遺留的Angular程式碼需要維護。
但最後一點可能是最關鍵的:Angular 並不試圖與React 正面對抗,而是重新聚焦於企業市場。看看 Angular 對 TypeScript的採用就可以知道:雖然它可能讓一些開發人員望而卻步,但這個決定也帶來了企業應用程式所需的可靠性和安全性。
3: 你不能再忽視Vue.js了
Vue去年似乎毫無進展,在很短的時間內,它就成為了React最大的威脅。它可能沒有 Angular 的原始使用者基礎,也沒有 Ember 那麼長期存在,但它有一些東西可以擊敗二者:勢頭。
儘管Vue想擊敗React看起來還有很長的路要走,但是在提供完整的類似框架的體驗方面,Vue可以說有更好的體驗,這要歸功於由同一個核心團隊維護的官路由和狀態管理庫。
4: 瞭解一些庫將幫助你拿到更高的薪資(但不是出於你可能想到的原因)
通過收集和交叉參照薪資資料,我們能夠找到哪些技術是最有利的。
事實證明,與最高工資相關聯的通常是一種特殊的技術,比如 Polymer 或 Reason 。
現在,在你辭去你目前的工作,度過聖誕假期之前,你要記住,相關並不等於因果關係。
雖然Polymer開發人員的報酬可能更高,但也有可能是更高階的開發人員(當然收入更多)傾向於嘗試更多樣化的庫。而初級程式設計師(從底層開始)則更傾向於專注於一兩種主流技術。
所以,也許(僅僅是也許)總是追求的最新技術並不是賺大錢的關鍵。
5:2018年將是 GraphQL 的一年
如果你和大多數受訪者一樣,你已經聽說過GraphQL,而且你很感興趣,但是你還沒有真正嘗試過(提示:我專門為你寫了一片文章 )。
事實證明,這是一個非常普遍的情況。在調查中提到的所有技術中,儘管目前的使用者數量較少,但GraphQL是最令人感興趣的技術之一。
談到當前的使用者,還值得一提的是,他們對GraphQL總體上非常滿意。隨著這種高興趣和高滿意度的結合,如果2018年是GraphQL最終跨越鴻溝成為主流技術的一年,那就不要感到驚訝了。
6: JavaScript != 前端
我們已經知道JavaScript不僅僅是在瀏覽器中使用的。畢竟,多年來,Node已經是一種非常流行的後端選擇。
但在2017,JavaScript正在進一步擴充套件:像AWS Lambda 這樣的平臺允許您編寫沒有後端的後端程式碼,而物聯網的裝置越來越受歡迎,這意味著不久之後,您的烤麵包機很可能也會執行JavaScript。
如果這聽起來很荒謬,請記住,今年最受歡迎的文字編輯器VS Code本身就是用JavaScript編寫的,並作為一個 Electron 應用程式執行。
JavaScript 從成為顯示橫幅廣告的工具開始,到為文字編輯器提供動力,都在幾年的時間裡。相信我,JavaScript 烤麵包機可能會比你想象來的更快。
7:微軟正在反擊
說到 VS Code,這絕對是今年的大驚喜之一。雖然 Sublime Text 和 Atom 正在爭奪文字編輯的霸主地位,但新人 VS Code 通過window闖入並偷走了他們的午餐。
一直以來,Sublime Text 有速度優勢,但被一個不直觀的UI所壓垮,而 Atom 有一個很好的使用者介面,但常常會感到遲鈍。
顯然 VS Code 可能找到了正確的平衡。雖然它是構建在像 Atom 這樣的 Electron 之上的,但是微軟的工程師在提高效能方面做了很多工作。就像 Sublime 一樣,它支援大量的外掛和定製,雖然在一個更加使用者友好的介面中,它只是工作包。
加上TypeScript 的興起(稍後),而且微軟好像終於把它和 web 開發整合在一起並表明它可以讓開發者喜歡用它做更多事,而不是因為他們必須要。
8:世界各地的 JavaScript 各有不同
當我們談到JavaScript時,我們通常會把它看作一個單一的、統一的生態系統。誠然,在各個地區都遵循著主流的趨勢,但很有趣的是,每個國家都會在JavaScript熔爐中新增自己的調料。
例如,你知道 Vue 在中國非常受歡迎嗎?這是有道理的,因為中國是 Vue 的建立者Evan You的母語國家,Vue 已經被阿里巴巴,百度等多家大型科技公司所採用。
另一方面,印度似乎更喜歡 Angular。這可能至少在一定程度上是由印度充滿活力的外包行業推動的,Angular往往的是那種大企業專案的完美選擇。
9:強型別 JavaScript 正在興起
TypeScript. GraphQL. Elm. Reason. 這些都有什麼共同點? 首先,他們都是看到快速增長的尖端技術。 其次,它們都依賴於型別。
雖然 JavaScript 開發人員長期以來一直享受著能夠隨心所欲地編寫程式碼的自由,但如果沒有編譯器指出你的錯誤或警告,這種自由就會成為一把雙刃劍:不那麼可靠、容易出錯。
但在 2017 年,情況終於發生了變化。 TypeScript 被廣泛採用並不是巧合,開發人員也正在向類似IDE的文字編輯器(如 VS Code )遷移,以更好地利用強型別提供的額外功能。
10:JavaScript就是你想要的東西。
這項調查再一次顯示了JavaScript生態系統的豐富程度。
似乎經過了多年的爭論和忽視 JavaScript 之後,開發者社群終於找到了第三種選擇:改進它。
JavaScript 基本上是能滿足你任何想要實現的需求,它為語言變體和適應性敞開大門,而且這種趨勢幾乎沒有停止的跡象。
這也許就是為什麼大多數開發者都認為,儘管存在缺陷, JavaScript 語言仍然朝著正確的方向發展: