為何React能成為2021年JavaScript優(yōu)秀框架?
本文轉(zhuǎn)載自公眾號“讀芯術(shù)”(ID:AI_Discovery)。
每一個(gè)開發(fā)人員或軟件工程師在開始他們的職業(yè)生涯時(shí),都必須面對一個(gè)問題:首先要學(xué)習(xí)哪種語言、框架或工具?
要回答這個(gè)問題有點(diǎn)困難,在軟件開發(fā)行業(yè)中有大量可用的語言和框架。JavaScript已經(jīng)成為大多數(shù)開發(fā)流程的支柱,所以我想對三種基于JavaScript的框架進(jìn)行比較,我選擇的是Angular、React和Vue三種框架。
StackOverflow調(diào)查
圖源:Stack Overflow
Stack Overflow就最受歡迎的框架進(jìn)行調(diào)查,調(diào)查結(jié)果顯示,React和Angular分別排在第二和第三位。去年,Angular擊敗React占據(jù)領(lǐng)先地位。但如果考慮到專業(yè)開發(fā)人員的反饋,Angular仍然排在第二位,而React排在第三位。此外,盡管Vue發(fā)展迅速,但該框架在評級中僅排名第七。
NPM 趨勢
圖源:NPM Trends
這張NPM Trends圖表向我們展示了一段時(shí)間內(nèi)每個(gè)框架的下載數(shù)量。上圖顯示了過去一年的數(shù)據(jù),我們可以看到React在這方面遙遙領(lǐng)先于它的競爭對手。Vue的下載量也在與日俱增,目前保持在150萬左右。
NPM Trends的另一個(gè)特點(diǎn)是,它同樣顯示來自GitHub的數(shù)據(jù)。在下圖中,你可以看到每個(gè)框架的復(fù)制克隆項(xiàng)目(forks)、收藏(stars)和事務(wù)卡片(issues)的數(shù)量。
圖源:NPM Trends
JavaScript狀態(tài)報(bào)告
2019年JavaScript狀態(tài)報(bào)告包括JavaScript的另一個(gè)報(bào)告生成平臺,你可以在那里找到各種比較報(bào)告(https://2019.stateofjs.com/front-end-frameworks/)。下面這張圖就是我從那里找到的,顯示了用戶的反應(yīng),例如他們是否會(huì)再次使用該框架與是否知道這項(xiàng)技術(shù)等等。
圖源:https://2019.stateofjs.com/front-end-frameworks/
正如我們所看到的,比起Angular,大多數(shù)用戶可能還是會(huì)使用React和Vue。
選擇Angular的理由
圖源:https://2019.stateofjs.com/front-end-frameworks/angular/
對我來說,Angular開啟了我的軟件開發(fā)之旅,我并不后悔我的決定。與其他兩個(gè)框架相比,Angular更成熟,并且有一個(gè)圍繞Angular構(gòu)建的大型社區(qū)。除了是著名的MEAN堆棧的一部分,Angular還有其他做得很好的地方,比如雙向數(shù)據(jù)綁定、依賴注入、MVC框架、Angular CLI、TypeScript支持、指令等等。
但隨著React和Vue等競爭對手的崛起,Angular在過去幾年失去了人氣。作為一個(gè)重量級的框架,Angular的更新無法滿足用戶的期望,SEO支持有限和學(xué)習(xí)難度高等因素都極大地影響了Angular的普及。這就是為什么如今人們更傾向于選擇Vue和React。
但是Angular仍然用于支持許多流行的網(wǎng)站和web應(yīng)用程序,比如Guardian、Upwork、PayPal和Sony,它們都是重要的網(wǎng)站,Angular在這方面很好地證明了自己。Angular主要在以下情況下使用:
- 大規(guī)模應(yīng)用程序
- 如果你需要一個(gè)可伸縮的架構(gòu)
- 如果你喜歡TypeScript
- 實(shí)時(shí)應(yīng)用程序的創(chuàng)建
選擇React的理由
圖源: https://2019.stateofjs.com/front-end-frameworks/react/
根據(jù)JavaScript狀態(tài)報(bào)告,React已經(jīng)連續(xù)第三年在所有評級中位居第一。React是Facebook于2013年發(fā)布的,其目的是將用戶界面劃分為一組組件,簡化開發(fā)過程。可以進(jìn)行本地開發(fā)是React的主要優(yōu)勢之一,而大型社區(qū)、Facebook的支持、飽和的生態(tài)系統(tǒng)、更優(yōu)質(zhì)的性能、可重復(fù)使用的組件和SEO友好性也是其優(yōu)勢。
但是突然的更新可能會(huì)在開發(fā)人員中引起討論,因?yàn)樗麄儾坏貌桓滤麄兊墓ぷ鳎乐钩霈F(xiàn)兼容問題。使用JSX和缺少文檔是React的其他一些主要缺點(diǎn)。React更適用于以下情況:
- 創(chuàng)建SPA或跨平臺應(yīng)用程序
- 開發(fā)小型企業(yè)級應(yīng)用程序
我們?yōu)槭裁匆x擇Vue?
Vue是近些年來的新星,它很快從一個(gè)普通的框架變成了最受專業(yè)人士喜愛的框架。
圖源:https://2019.stateofjs.com/front-end-frameworks/vuejs/
由于輕量級的框架、詳細(xì)的文檔、響應(yīng)速度快、可重復(fù)使用、TypeScript支持和簡單的學(xué)習(xí)曲線等特性,Vue發(fā)展迅猛。
Vue有許多特別的方面,有些甚至看起來是缺點(diǎn)。例如,Vue非常靈活,然而有時(shí)對于擁有大量開發(fā)人員的團(tuán)隊(duì)來說,它可能過于靈活了。
如今,這種框架在亞洲市場需求量很大。但是使用Vue也有一些缺點(diǎn),比如對大型項(xiàng)目缺乏支持,社區(qū)規(guī)模小。但在一些特定的情況下,Vue可能是你的最佳解決方案:
- 構(gòu)建規(guī)模小、輕重量級的應(yīng)用程序(例如Grammarly)
- 構(gòu)建智能、高性能應(yīng)用程序
- 一個(gè)應(yīng)用程序進(jìn)入市場的初期
圖源:unsplash
綜上,React將是2021年最適合學(xué)習(xí)的框架,Vue緊隨其后。但Angular很有可能奪回第二名,因?yàn)樗芫靡詠砦痪拥诙K匀绻闶且幻鸄ngular開發(fā)者,我建議你在接下來的日子里學(xué)習(xí)React。
但2021年肯定不是這場競爭的終點(diǎn),這場競爭將持續(xù)下去,或許還會(huì)加入新的競爭者。
































