框架的遊戲:2019 年 JavaScript 流行趨勢

JavaScript 生態系統複雜多變,各種框架讓人眼花繚亂。究竟孰優孰劣,如今的發展趨勢是怎樣的,用人單位又需要怎樣的人才?本文站在一箇中立者的角度,客觀分析了當前這場“框架的遊戲”中,JavaScript 的流行趨勢。

Javascript 的生態環境讓我想到了戰場。TypeScript 對戰 ES6,React 對戰 Angular,Jest 對戰 Mocha……就像在看熱播的電視劇一樣,這些激烈的衝突讓 JS 的粉絲們焦急地等待着更新,並不禁捫心自問:我下一步究竟該學什麼?與此同時,每種技術的粉絲軍團僅僅是在火上澆油而已。

我們在 CV Compiler 平臺每週幫助幾十個 JS 開發者完善他們的簡歷,所以我們也在持續跟進着“框架的遊戲”,定期分析着用人單位的需求。但在這篇文章中,我不會去支持或反對任何一種技術——只會站在一箇中立的角度,來分析一下當前 JavaScript 的流行趨勢。

1. 當今 JS 開發者需要具備的能力:我們基於數據的研究

我們從 AngleList、StackOverflow、LinkedIn 和一些全世界範圍內發展很快的科技公司的招聘頁面等多個平臺上選取了 300 個 JavaScript 開發崗的招聘要求。我們利用自己的文本分析工具,計算出了這些要求中最常提到的一些術語,如下圖所示(圖中數字表示各術語被提及的頻率)。JS
注意:上圖可以代表以 JavaScript 爲主要語言的職位的一般技能等級。當然,我並沒有說後端開發人員應該完全瞭解 React 之類的,因爲該圖表僅反映了當前的市場需求,這可能與 JS 開發者自身的偏好不同(關於這點我們將在下一節詳細討論)。

2. 主要收穫

在我們的評級中沒有被展示出的非 JS 語言中,提及頻率最高的是 C#和 PHP。至於數據庫管理系統,MySQL 和 MongoDB 也馬上要衝進評級榜單了。令人驚訝的是,常見的 Express.js 被提及的頻率較低,Flow 也是如此。

雖然圖表中沒有提到 Agile(敏捷)這個術語,但它比 Git 或 Redux 被提及的頻率更高,這說明 JS 開發者們除了要獲得開發崗位必須的硬技能,軟技能同樣不可忽視。UX 也是如此。當然,你沒有必要爲此專門參加一個高級的 UX(User experience)課程(如果可以參加的話自然就更好了),但作爲一個前端開發者,你需要知道如何在技術層面爲用戶提供更流暢的體驗,而不是在設計層面。

我們還遇到了可擴展性(Scalability)、雲計算(Cloud Computing)和安全性(Security)這樣的術語。這一事實表明,JS 繼承了開發人員行業的趨勢。

你可能已經注意到,在我們的技能評級中,Vue.js 的排名並不高。我估計這有幾點原因。首先,很多公司還沒有準備好將產品遷移到 Vue.js 而放棄他們目前很穩定、常規的前端解決方案。其次,可能有些用人單位想要讓員工在工作過程中學習 Vue.js,所以他們在招聘要求裏並沒有提到這個詞。

無論如何,基於全球範圍內的調研,Vue.js 是十分流行的——28.8% 的受試者在 JavaScript 2018 問卷調查中使用 Vue.js,並表示願意再次使用它。另外一個有趣的結論是:34% 的受試者在同一份問卷中表示使用過 Angular,但不願意再次使用。然而,這並不表示這三種技術(React,Angular 或 Vue.js)中的任意一個會舉手投降。選擇哪種前端框架取決於很多因素,如項目的規模、架構以及企業特徵。

對於 GraphQL 來說同樣如此。雖然它在表中排名並不靠前,但確實增長飛快。在 2018 年 Node.js 用戶調查問卷中,21% 的受試者已經在工作中使用它了。2018 年 4 月 30 日,52 個用戶下載了 Apollo(GraphQL 的客戶端)。而在此後正好一年的時間裏,有 10794 個用戶下載了它。

在編譯工具方面,也有一個很有趣的競爭關係:Parcel 和 Webpack。2018 年 JavaScript 新星調查中顯示,Parcel 越來越流行,其熱度已經逐漸超過了 Webpack。然而,雖然 Parcel 具有幾個很有吸引力的內置功能,如開箱即用的配置、開發服務器和熱模塊替換,它仍然沒有取代優秀的 Webpack。在 JS 2018 問卷調查中,超過 16000 名受試者使用 Webpack 來編譯他們的項目。而在我們的調查中,300 份招聘說明中沒有見到 Parcel 的影子。

調查鏈接:

3. 專家對 JS 開發未來趨勢的看法

對我來說,React 將在未來幾年保持強勢地位。 GraphQL 也是如此,而 REST API 將會下降。另外,TypeScript 可能超過 ECMAScript。至於新術語,我認爲最終能夠看到 ReasonML、Parcel 和 Design Systems 的技能等級。 (但也許不到 2020 年就能看到)。

還有一個觀察 - 我認爲 Redux 將在未來五年內下降,因爲開發人員正在積極研究前端的替代方法。

——JuhoVepsäläinen,SurviveJS、React Finland 創始人,藍箭獎得主。
Twitter:https://twitter.com/bebraw
個人網站:https://survivejs.com/

此列表顯示了 JavaScript 生態系統中 React、Angular 和 Node.js 等前端框架的持續優勢。優勢很可能會持續下去,並且我建議開發人員深入學習這些框架中的至少一個。TypeScript 和 GraphQL 也在不斷增長,並且可能會繼續增長。

對於後端工程師,Node.js 的普及率持續上升。但是,許多公司仍然希望 JavaScript 開發人員能夠使用 Java 和 Python 等語言來處理多語言環境。列表的其餘部分證明將 JavaScript 作爲一種語言是不夠的。另外,使用 Git、CI 和 TDD 等常見的行業慣例是必須的。

——Kevin Ball,Web 前端顧問、培訓師,ZenDev 創始人。
Twitter:https://twitter.com/kbal11
博客:https://zendev.com/blog.html

Express.js 居然沒有在這個圖表中排名靠前,我很驚訝,怎麼說它也是編寫 Node.js 後端應用程序的主要框架。也許這是因爲大多數 JavaScript 的職位都是針對前端開發人員的,但技術本身絕對不是不受歡迎的。

至於前端領域,我認爲 React 將長期保持其主導地位。該框架可以快速響應用戶的需求,定期將新想法推向市場,並得到了 Facebook 的大力支持。 TypeScript 是另一個大趨勢——我想在 3 年內,如果不使用 TS,我們將看不到任何大項目。由於它與 React 密切相關,因此這兩種技術將繼續繁榮發展。

現在亟待改變的是項目建設過程的複雜性。更有可能的是,我們很快就會看到這個問題的有效解決方案,例如 codesandbox 或 Parcel。

總的來說,JavaScript 已經成爲一種“成熟”且穩定的語言,所以我認爲我們不會在很近的將來觀察到激烈的“技術戰”。

——Denis Radin,FocusReactive 技術主管。
Twitter:http://twitter.com/pixelscommander
GitHub:http://github.com/pixelscommander

JavaScript 號稱“快速移動的語言”,擁有極高聲譽,每週都會有一個新的框架出現。雖然這曾經是真實的,但它肯定會放慢速度,儘管最近我們已經看到了更多像 Gatsby 這樣的“框架的框架”。

深入理解 ES6 中的基礎語法非常重要。瞭解 JavaScript 的解釋方式以及各種瀏覽器的侷限性也很重要。最後,PWA 和服務工作者的崛起也值得關注。 JavaScript 應用程序的潛在市場遍佈全球,瞭解如何爲這些客戶構建是至關重要的。

——Laurie Barth,演講家、博主、教師,Ten Mile Square Technologies 顧問。
Twitter:https://twitter.com/laurieontech
博客:https://dev.to/laurieontech
個人網站:https://laurieontech.com/

從我們在 Cypress.io 的需求來看,GraphQL + TypeScript 佔據了 2020 年所需技能的列表。另外,我預測像 Next.js、Nuxt.js 和 Gatsby.js 這樣的混合框架將佔據很大一部分項目,因此 JavaScript 開發人員必須瞭解這些工具。

——Gleb Bahmutov,Cypress.io 工程副總裁。
Twitter:https://twitter.com/bahmutov
個人網站:https://gleb.dev/

JavaScript 生態系統不斷增長,而且可能會讓人不堪重負。但是,我認爲這是學習和擴展自己知識的好機會。同時,它是語言演變的一個重要標誌。擁有 React.js 和 Node.js 對你的簡歷來說是一個巨大的優勢,也是獲得體面工作的關鍵點之一。

——Tanya Butenko,Hireup(澳大利亞)軟件工程師,Muses Code JS Inc. 創始人兼首席執行官。
Twitter:https://twitter.com/ButenkoMe
個人網站:https://musescodejs.org/

總的來說,現在是成爲 JavaScript 開發者的最佳時機。 JS 及其框架位於全球最受歡迎、使用最廣泛的技術榜榜首。雖然框架之間的戰鬥異常激烈,JS 的常用工具集卻非常穩定,因此你可以專注於利用喜歡的技術,而不用非要選擇類似框架。

本文轉載自:框架的遊戲:2019 年 JavaScript 流行趨勢
英文原文:https://hackernoon.com/game-of-frameworks-javascript-trends-of-2019-1a303fa3aaa7

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章