2021年的JavaScript全景圖
在Web開發中,我們的世界迅速變化,但我們可以識別2021將帶來什么?通過從2020個開發人員調查中仔細審查數據,我突出了我認為大型JavaScript故事的想法。
在進入詳細信息之前,請快速注釋JavaScript調查。可悲的是,下一個版本的優秀前端工具調查,不會出現一段時間,這使得發現趨勢更加困難。雖然我們可能會縮小一個良好的調查,但是一個新的一個新的液體突然出現:前端的狀態。雖然沒有以前的年度數據來幫助我們看到趨勢,但它被來自世界各地的4500名開發人員填充,所以這絕對是一個有價值的資源。
讓我們潛入并探索從數據獲得的洞察力。
包管理工具
去年,我建議我們注意PNPM的崛起,這旨在避免版本沖突并與Monorepos一起玩。它去年有一些熱情的倡導者,并在Github上達到了9.5萬星,所以它明顯贏得開發人員。然而,鑒于嵌入式Yarn和NPM在現場項目以及既有新功能的情況下,鑒于2021年,我覺得它不太可能認真競爭2021年的使用。這些特征中的一些是直接響應PNPM的,特別是工作區的開發。這只是展示競爭在駕駛開源軟件方面的重要性程度。
測試
2019年,Cypress和Puppeteer在2020年突出了高新的條目,兩者都繼續取得成功。但是,微軟為Playright的形式帶來了一個新的E2E測試工具,似乎從無處出現并僅在2020年僅在20千升之下。作為世界上最大的軟件公司之一,他們擁有群集廣泛促進他們的商品,但這僅部分地解釋了該工具的普及。主要原因是其特征集和來自Puppeteer的簡單遷移路徑。
> Playright tops the Rising Stars testing frameworks chart despite not having featured at all in 2019
由于Nadella擔任首席執行官,微軟制定了一種生產流行和強大的開源工具的習慣。vscode任何人?
JavaScript風格
我在去年表示,Typescript慢慢但肯定地取代了JavaScript世界;這種趨勢加劇了。無數的開源項目急切地將其列為功能。Deno是2020年是最具出售的GitHub項目,附帶了內置的類型標注編譯器。
去年,鑒于對靜態類型和函數規劃的興趣,我們謹關注Prescript,它強制執行。然而,2020年的采用不是那么廣泛,只有641個新星在GitHub上,興趣下降3%。看TypeScript與競爭對手之間的巨大用法差距,感覺就像語言戰爭結束,微軟的產品贏了。任何新人都會在社區審議多年和語言過載的氣氛后,努力使我們的注意力得到促進。
這是一個我解除的區域,以便看到社區會聚。現在,我們避免對不同超級集的分心,并更多地關注語言本身。
UI框架
Vue是2019年最具特色的框架,這是當時的大新聞,并發出明確的信息:開發人員喜歡它。這是2020年的同一個故事。但是,當我們看看NPM下載時,React的市場份額仍然是巨大的。
> React downloads in the past year
其他有用的指標:GitHub中的標簽和廣告作業。目前,GitHub上有超過80k的Repos標記為“React”,與25K為“Vue”相比。期待就業市場,最后五月職業生涯Karma在美國的React開發人員發布了10,005個工作機會,只有1,025個Vue的工作機會。React是普遍存在的,悲傷的競爭很僵硬。
我無法在不提及Svelte和Angular的情況下得出結論。Angular仍然很受歡迎 - 去年它獲得了13.3k顆新的明星,并在NPM上每周下載近25億下載。這可能會對一些令人驚訝的是,給予React的主導地位,但這些統計數據值得識別。Svelte,非常年輕,但在JS狀態下取得滿意度圖表。但是,由于對React和Vue Devs的陡峭學習曲線,我只希望它在2021年度在2021中獲得適度的收益。
后端
現在這是一個復雜的空間,靜態站點的框架與API生產的框架坐在一起。如果我們稍微打破一下,并看一下僅限服務器框架,我們可以看到Express仍然坐擁著51.5萬星。然而,Nest已經在2020年爆發了一個驚人的10.3k新的星星,總共達到了33.6k。開發人員已經采取了它,因為它們被自以為是,可以加快開發和簡化維護。哦,我提到它使用Typescript嗎?
看著全堆棧框架的擴散,在這個空間中的心靈和思想都有一個非常重要的戰斗,因為它們對架構,性能和工作方式具有如此大的影響。基于React的框架,NextJS和Gatsby仍然比使用的VueJS對應物更受歡迎,但只能確認我們已經了解了UI框架生態系統的內容。真正值得注意的是,Gatsby的滿意度降低了多少。軼事證據表明它有一個令人困惑的DX,盡管有足夠的證據來駁斥在線。使用Vercel開發的NextJS并將像靜態網站生成這樣的功能向其軍火庫開發,我只能看到今年的力量力量。
構建工具
這個地區現在有一些值得注意的競爭。盡管對WebPack的DevX有所抱怨,但它長期以來一直統治至高無上,并且仍然具有最高的主要使用率。去年,我們看到羅馬挑戰這個空間,今年我們有eSbuild,Snowpack和Vite走上了上升的星星圖。ESBuild的匯率很簡單:加快構建時間。這對許多工程團隊來說顯然非常有價值,并解釋了朝向它的舉動。
> esbuild and Snowpack are joint top of the State of JS 2020 build tools chart
雖然GitHub Stars是一個公制,但是Snowpack在JS調查狀態下,更重要的是,它是一個滿意度圖表的聯合之外。雖然用法可能仍然很低,但我覺得它的時間來了。SnowPack和Vite的受歡迎程度發出重要信息:本地ES模塊是由社區認真對待的。這是一個巨大的主題,因為它對構建過程,緩存和開發/刺激模塊對稱性的影響。
狀態管理
沒有其同伴狀態管理,UI框架將是什么?拋開關于復雜性的辯論與未來打樣,這一區域特別有趣,因為Redux從兩角度受到挑戰:從React本身和獨立的新人之間。
我從個人體驗中了解了強大的React的鉤子和上下文API,但他們確實有他們的局限性。無論哪種方式,它們肯定是React開發人員的重大打擊,幾乎一半的前端參與者陳述他們使用它們。
> State of Front End 2020 Survey State Management Category
結論
在去年的文章中,我探討了合并的主題。經過多年的不同模式,框架和庫感覺就像我們在模式和實踐中對齊。雖然我覺得這一趨勢在2020年持續下去,但很明顯,JavaScript的受歡迎程度導致了以前保護其他語言的市場的工具;通過越來越多的E2E測試和機器學習工具說明。
從2020個數據中出現的關鍵主題是大型軟件供應商定義了JavaScript橫向。微軟的Typescript正在成為一個建立在它的行業標準和項目,它具有更好的成功機會,Nest和NextJs(不困惑)是一個很好的例子。
Jamstack方法的影響和速度需求也是影響因素,靜態站點發生器和eSBuild等工具非常快速地突出。
JavaScript全景只是繼續擴展,通過快速演變,通過功能,瀏覽器支持,運行時間和永遠擴大的數字地平線推動。
原文鏈接:https://javascript.plainenglish.io/the-javascript-landscape-in-2021-573d5e7a43c6