愛(ài)鋒貝

標(biāo)題: 前端框架真相 | 為什么前端不能放棄React? [打印本頁(yè)]

作者: 科技Party    時(shí)間: 2023-1-11 16:09
標(biāo)題: 前端框架真相 | 為什么前端不能放棄React?
昨天我學(xué)前端的表弟突然問(wèn)我:哥,我可不可以不學(xué)React啊?我感覺(jué)Vue夠用了!
我**上去就是一B兜,還想不想好好干了?不想好好干前端,你就直說(shuō),還想放棄React,人家都是擔(dān)心劍未佩妥,轉(zhuǎn)身已是江湖。你倒好,劍都不帶,直接殺上梁山!怎么?明知山有虎,偏向虎山行!那你也得看看自己叫不叫武松???大郎!是不是又該吃藥啦?

(, 下載次數(shù): 9)
老弟,哥今年搞前端第9個(gè)年頭,馬上“前端九年義務(wù)教育”就要畢業(yè),負(fù)責(zé)任的告訴你,react那可是前端賺大錢的標(biāo)配。今天我就給你念叨念叨,為什么前端不能放棄React?
1、 從市場(chǎng)流行度來(lái)看

React是企業(yè)項(xiàng)目開(kāi)發(fā)流行框架之一,不學(xué)React,等于自斷一臂。現(xiàn)在市場(chǎng)上也就兩個(gè)流行框架:一個(gè)Vue,一個(gè)React。其他的我們先不討論。你上來(lái)先放棄一半,半壁江山。直接損失一個(gè)“汪峰”,難怪你上不了頭條。之后我們?nèi)轿宦敿?xì)說(shuō)······
2、從大廠技術(shù)選型來(lái)看

React 是大廠的選擇,也是我們進(jìn)大廠的選擇。
首先不跟你多BB,看圖,我們直接看大廠都在用什么技術(shù)。
序號(hào)公司名技術(shù)棧
1阿里react
2快手react
3嗶哩嗶哩react
4北京小米react
5北森云計(jì)算react
6北京云智慧react
7北京鷹瞳科技react
8北京隨行付支付有限公司react
9北京靈動(dòng)科技react
10杭州鑫蜂維react
11北京美圖react
12杭州阿信網(wǎng)絡(luò)react
13杭州小碼教育react
14北京口袋財(cái)富react
15北京醫(yī)點(diǎn)通react
16北京火花思維react
17上海攜程react
18北京神策數(shù)據(jù)react
19杭州求是微脈react
20美餐react
21北京北極數(shù)據(jù)react
22美團(tuán)react 居多
23騰訊react 居多
24網(wǎng)易react,vue都有
25百度react,vue也有
26北京老虎集團(tuán)react,低代碼平臺(tái)
27小紅書vue
28北京好未來(lái)vue
29北京藍(lán)色光標(biāo)vue
30北京鯨準(zhǔn)數(shù)服科技vue
31北京閃電快車vue
32北京信征信息vue
33北京千帆閱文vue
34北京自如vue
35北京伴魚vue
36北京農(nóng)信互聯(lián)vue
37北京必要科技vue
38北京曠視科技vue
39北京新橙科技vue
40北京小藥藥vue
41杭州尚尚簽vue
42北京云知聲智能科技vue
43北京藍(lán)湖vue
44北京醫(yī)渡云vue
45蘇州同城旅行vue
46北京汽車之家vue
47北京友通上昊(醫(yī)療)vue
48北京深睿醫(yī)療vue,react,qiankun
49北京新東方vue,react都有
50聯(lián)想vue,react都有
51北京零氪vue,vue3
52北京美菜網(wǎng)vue,也有react
53北京點(diǎn)石經(jīng)緯vue3
54網(wǎng)易vue和react都有
55新浪vue和react都有
56360vue和react都有,vue居多
57滴滴大部分 react,少數(shù)vue
58用友大部分是react,也有vue
5958分產(chǎn)品線,react居多,vue,js也有
60字節(jié)基本都是react,vue非常少
停下來(lái)?。。。。。。。。。。。?!

(, 下載次數(shù): 11)
我就知道你沒(méi)有好好看完表格,直接滑下來(lái)的!
那我告訴你,根據(jù)各公司招聘信息,梳理的60家公司項(xiàng)目開(kāi)發(fā),前端技術(shù)棧的框架使用情況。其中包括大、中、小廠的信息。從這些數(shù)據(jù)來(lái)看:
1、Vue 和 React市場(chǎng)占有率大約各占 50%;
2、一線大廠應(yīng)用React居多,中小公司vue居多。
你能想的出名字的大廠他們都在用React,阿里, 美團(tuán),騰訊,網(wǎng)易,百度,新東方,聯(lián)想,新浪,滴滴,快手,嗶哩嗶哩,小米,美圖,攜程,這些大佬們都在用React,而且React的占比還不在少數(shù)!你告訴我你憑什么說(shuō)要放棄學(xué)React?不想進(jìn)大廠?不想拿高薪?誰(shuí)跟錢過(guò)不去?如果過(guò)不去,那就是不夠多!
3、從薪資水平來(lái)看

我們不說(shuō)那些虛的,直接就是看一波薪資:
北京 React 前端工程師工資收入:

(, 下載次數(shù): 14)
北京 Vue 前端工程師工資收入:

(, 下載次數(shù): 10)
通過(guò)查詢的結(jié)果看,在北京,React 崗位的薪資是 Vue 崗位薪資的2倍,大家可以通過(guò)自己搜索來(lái)查詢其他的城市情況?;镜那闆r是差不多的,這和 React 人才市場(chǎng)缺乏有很大的關(guān)系。
沒(méi)有一分錢的工資是白給的, 不學(xué)習(xí) React 工資起點(diǎn)就低了。學(xué)了React工資直接翻一番!你自己看著辦!

(, 下載次數(shù): 10)
4、從技術(shù)背景來(lái)看

再說(shuō)人家React的出身,React JS (以下簡(jiǎn)稱React)基本上是一個(gè)由 Facebook 建立和維護(hù)的 JavaScript 庫(kù)。妥妥的名門之后,穩(wěn)穩(wěn)的將相之姿。
根據(jù) React 的創(chuàng)建者Jordan Walke 的說(shuō)法,React是一個(gè)高效、聲明性和靈活的開(kāi)源 JavaScript 庫(kù),用于構(gòu)建簡(jiǎn)單、快速和可擴(kuò)展的Web應(yīng)用前端。
自推出以來(lái),它已經(jīng)在前端開(kāi)發(fā)領(lǐng)域掀起了一場(chǎng)風(fēng)暴。跟迪迦一個(gè)級(jí)別(新的風(fēng)暴已經(jīng)出現(xiàn),怎么能夠停滯不前)。

(, 下載次數(shù): 12)
Stack Overflow 的最新調(diào)查也顯示,React是最受喜愛(ài)的網(wǎng)絡(luò)框架,而 Angular 在同一列表中排名第 9。

(, 下載次數(shù): 12)
今天,有超過(guò)22萬(wàn)個(gè)網(wǎng)站使用React。不僅如此,像上面所調(diào)查的,阿里、快手、騰訊、字節(jié)、小米、網(wǎng)易、滴滴等,蘋果、Netflix、Paypal等行業(yè)巨頭也已經(jīng)開(kāi)始在其項(xiàng)目中使用 React。
5、從技術(shù)本身來(lái)看

說(shuō)完出身,我們還得看看React這孩子本身的資質(zhì)怎么樣!
既然有這么多大廠選擇了React,那他肯定有無(wú)可比擬的優(yōu)越性,來(lái)看。
5.1、React 用于前端開(kāi)發(fā)的主要優(yōu)點(diǎn)

讓我們看看 React 的主要優(yōu)點(diǎn),了解它為什么從其他前端開(kāi)發(fā)框架中脫穎而出。
(1)速度

React 基本上允許開(kāi)發(fā)者在客戶端和服務(wù)器端,利用其應(yīng)用程序的各個(gè)部分,這最終提高了[開(kāi)發(fā)過(guò)程](about:blank)的速度。
簡(jiǎn)單地說(shuō),不同的開(kāi)發(fā)者可以編寫單獨(dú)的部分,所有的改變都不會(huì)導(dǎo)致應(yīng)用程序的邏輯。
(2)靈活性

與其他前端框架相比,React 代碼更容易維護(hù),并且由于其模塊化結(jié)構(gòu)而具有靈活性。這種靈活性反過(guò)來(lái)又為企業(yè)節(jié)省了大量的時(shí)間和成本。
(3)性能

React 在設(shè)計(jì)時(shí)就考慮到了提供高性能。該框架的核心提供了一個(gè)虛擬 DOM 程序和服務(wù)器端渲染,這使得復(fù)雜的應(yīng)用程序運(yùn)行得非??臁?br /> 擴(kuò)展閱讀:[優(yōu)化ReactJS性能的頂級(jí)技巧](https://www.peerbits.com/blog/top-performance-optimization-tips-for-react.html)
(4)可用性

如果你有一些基本的 JavaScript 知識(shí),使用React是相當(dāng)容易的。事實(shí)上,一個(gè)專業(yè)的 JavaScript 開(kāi)發(fā)人員可以在三周內(nèi)輕松地學(xué)會(huì) React 框架的所有內(nèi)涵和外延。
(5)可重用的組件

使用React 的主要好處之一是它有可能重復(fù)使用組件。這為開(kāi)發(fā)人員節(jié)省了時(shí)間,因?yàn)樗麄儾槐貫橄嗤墓δ芫帉懜鞣N代碼。此外,如果在任何特定的部分做出任何改變,都不會(huì)影響應(yīng)用程序的其他部分。
同時(shí),如果你認(rèn)為React只適用于網(wǎng)頁(yè)開(kāi)發(fā),那你就大錯(cuò)特錯(cuò)了! Facebook很早就已經(jīng)升級(jí)了該框架,推出了 React Native,用于開(kāi)發(fā) Android 和 iOS 平臺(tái)的移動(dòng)原生應(yīng)用程序。
5.2、React 可以成為企業(yè)項(xiàng)目開(kāi)發(fā)最佳選擇的16個(gè)原因

(1)它很容易學(xué)習(xí)
React,與其他流行的前端框架如Angular 和 Vue 相比,更容易學(xué)習(xí)。
事實(shí)上,這也是 React 在短時(shí)間內(nèi)獲得如此大的吸引力的主要原因之一。它幫助企業(yè)快速建立他們的項(xiàng)目。
你看,學(xué)習(xí)某項(xiàng)技術(shù)或框架越難,開(kāi)始開(kāi)發(fā)過(guò)程所需的時(shí)間就越長(zhǎng)。由于 React 是一個(gè)簡(jiǎn)單的框架,容易學(xué)習(xí)和開(kāi)始,企業(yè)和大廠更傾向于使用它。
(2)它有助于建立豐富的用戶界面
今天,一個(gè)應(yīng)用程序的用戶界面的質(zhì)量起著重要的作用。如果用戶界面設(shè)計(jì)得不好,那么它就會(huì)降低一個(gè)應(yīng)用程序成功的機(jī)會(huì)。因此,建立豐富的用戶界面對(duì)于一個(gè)應(yīng)用程序的生存和發(fā)展是必要的。
好消息是,React允許通過(guò)它的聲明式組件來(lái)構(gòu)建這種高質(zhì)量的、豐富的用戶界面。
(3)它允許編寫自定義組件
React 自帶 JSX,一個(gè)可選的語(yǔ)法擴(kuò)展,這使得編寫我們自己的組件成為可能。
這些組件基本上接受 HTML 引用,也使所有子組件的渲染成為開(kāi)發(fā)者的愉快體驗(yàn)。
雖然關(guān)于JSX的問(wèn)題有很多爭(zhēng)論,但它已經(jīng)可以用于編寫自定義組件,構(gòu)建大批量的應(yīng)用程序,并將HTML虛擬結(jié)構(gòu)圖轉(zhuǎn)換為 ReactElement 樹(shù)。
(4)它提高了開(kāi)發(fā)者的生產(chǎn)力
當(dāng)一個(gè)應(yīng)用程序具有復(fù)雜的邏輯,并且一個(gè)組件的單一修改會(huì)極大地影響其他組件時(shí),頻繁的更新往往會(huì)變成頭疼。為了解決這個(gè)問(wèn)題,F(xiàn)acebook 通過(guò)組件重用性功能擴(kuò)充了 React。
React 中的組件重用性,允許開(kāi)發(fā)者重新部署相同的組件對(duì)象。
這種方法提供了更好的代碼維護(hù)和增長(zhǎng),因?yàn)镽eact中的每個(gè)組件都有自己的內(nèi)部邏輯,這很容易操作,因此,提高了應(yīng)用開(kāi)發(fā)的生產(chǎn)力。
(5)它提供快速渲染
當(dāng)你建立一個(gè)復(fù)雜的、高負(fù)荷的應(yīng)用程序時(shí),在一開(kāi)始就定義應(yīng)用程序的架構(gòu)是必須的,因?yàn)樗梢杂绊懩愕膽?yīng)用程序的性能。
簡(jiǎn)單地說(shuō),DOM模型是樹(shù)狀結(jié)構(gòu)的。因此,在較高層次上的一個(gè)小修改會(huì)嚴(yán)重影響應(yīng)用程序的用戶界面。為了解決這個(gè)問(wèn)題,F(xiàn)acebook 推出了一個(gè)虛擬 DOM 功能。
虛擬DOM,顧名思義,是DOM的虛擬表示,允許首先測(cè)試對(duì)虛擬DOM的所有修改,以計(jì)算每次修改的風(fēng)險(xiǎn)。
因此,這種方法有助于保持應(yīng)用程序的高性能,并保證有更好的用戶體驗(yàn)。
(6)它對(duì)搜索引擎友好
對(duì)于任何在線業(yè)務(wù),搜索引擎優(yōu)化是成功的途徑。
一般情況下,頁(yè)面加載時(shí)間越短,渲染速度越快,應(yīng)用程序在百度等搜索引擎上的排名就越高。
由于渲染速度快,React與其他框架相比,大大減少了頁(yè)面加載時(shí)間,這大大有助于企業(yè)在百度搜索引擎結(jié)果頁(yè)上獲得第一排名。
擴(kuò)展閱讀:如何使用ReactJS構(gòu)建快速和SEO友好的網(wǎng)絡(luò)應(yīng)用程序
(7)它配備了有用的開(kāi)發(fā)者工具集
學(xué)習(xí)新興技術(shù),并在實(shí)際項(xiàng)目中使用它們既有趣又有益,但前提是要正確使用它們。
Facebook 明白這一點(diǎn),正是因?yàn)檫@個(gè)原因,他們?cè)?React 框架中增加了 React開(kāi)發(fā)工具 和 Chrome開(kāi)發(fā)工具。
這些React工具可以幫助開(kāi)發(fā)者發(fā)現(xiàn)子組件和父組件,觀察組件的層次結(jié)構(gòu),并檢查組件的當(dāng)前狀態(tài)。
(8)強(qiáng)大的社區(qū)支持
像 Angular 一樣,React 也有非常強(qiáng)大的社區(qū)支持,這是在我們的項(xiàng)目中采用 React 的主要原因之一。
每天都有大量的 React 開(kāi)發(fā)者,為使 React 成為更好的前端框架而貢獻(xiàn)力量。目前,React 在 Github上已經(jīng)獲得了 200K 顆星,有 1,583 個(gè)固定貢獻(xiàn)者。
不僅如此,專家們還經(jīng)常在視頻網(wǎng)站上上傳免費(fèi)的 React 教程,并在互聯(lián)網(wǎng)上撰寫深入的 React 教程文章和博客。例如,在谷歌上簡(jiǎn)單搜索 "免費(fèi)React教程",就能得到13,000,000 個(gè)結(jié)果。
除此之外,React專家還經(jīng)常在Stack Overflow 和 Quora 等QA網(wǎng)站上解疑釋惑,這意味著如果你在使用React時(shí)遇到困難,你總是可以得到專家給出的可靠解決方案。
(9)它提供了更好的代碼穩(wěn)定性
React 遵循向下的數(shù)據(jù)流,以確保父結(jié)構(gòu)不會(huì)受到其子結(jié)構(gòu)的任何修改的影響。
因此,每當(dāng)開(kāi)發(fā)人員對(duì)一個(gè)對(duì)象進(jìn)行修改時(shí),只需要修改其狀態(tài)并進(jìn)行適當(dāng)?shù)男拚_@樣,只有一個(gè)特定的組件會(huì)被更新。
這種數(shù)據(jù)流和結(jié)構(gòu),結(jié)果是提供了更好的代碼穩(wěn)定性和應(yīng)用程序的平穩(wěn)性能。
(10)它被許多財(cái)富500強(qiáng)公司使用
依舊懷疑是否要使用React?
看看一些鼓舞人心的React解決方案的例子吧。成千上萬(wàn)的公司,包括一些財(cái)富500強(qiáng)公司,都選擇了React JS來(lái)做他們的網(wǎng)站和移動(dòng)應(yīng)用。
Airbnb、特斯拉、阿里巴巴、騰訊QQ和沃爾瑪都是使用 React Native 框架構(gòu)建其移動(dòng)應(yīng)用的頂級(jí)品牌。
另一方面,React網(wǎng)絡(luò)框架目前正被包括阿里、快手、騰訊、字節(jié)、小米、網(wǎng)易、滴滴、Netflix、Paypal、NASA、BBC、Lyft和紐約時(shí)報(bào)等著名公司所利用。
重點(diǎn)是,既然這么多成功的財(cái)富 500 強(qiáng)公司都在使用 React 和 React Native,那么React一定是真正有用的前端和移動(dòng)應(yīng)用開(kāi)發(fā)框架。
(11)優(yōu)秀的數(shù)據(jù)綁定
React 使用單向數(shù)據(jù)綁定和flux 架構(gòu),這是一個(gè)應(yīng)用程序設(shè)計(jì)者,從一個(gè)點(diǎn)處理數(shù)據(jù)流。因此,任何人都有能力跟蹤所有的變化,以改變數(shù)據(jù)的特定部分。
(12)擴(kuò)展你的工具和能力
React 在一個(gè)項(xiàng)目中的主要好處是,開(kāi)發(fā)人員可以在 JavaScript 和 Modem JSX 上寫作。這種方法將允許他們?cè)诖a中使用HTML插入,這使得有廣泛的機(jī)會(huì)進(jìn)行重組,并提高完整的生產(chǎn)力。
(13)測(cè)試和功能
React 的結(jié)果不僅是性能,也是高度可測(cè)試的應(yīng)用程序。它使開(kāi)發(fā)一個(gè)明確的設(shè)計(jì)更容易,對(duì)測(cè)試友好。它們可以從觸發(fā)的輸出、函數(shù)、事件等方面進(jìn)行監(jiān)督。
(14)以UI為重點(diǎn)的設(shè)計(jì)
React 為任何 UI 布局提供了潛力。它允許重大的數(shù)據(jù)變化來(lái)自動(dòng)轉(zhuǎn)換特定的UI元素。由于這一最新功能,你不需要任何東西來(lái)更新UI。
(15)它提供了一個(gè)獨(dú)特的抽象層
React 強(qiáng)大的一面是它提供了一個(gè)良好的抽象,這意味著它不會(huì)向用戶透露任何復(fù)雜的內(nèi)部信息。開(kāi)發(fā)人員必須了解一些基礎(chǔ)知識(shí),并保留對(duì)內(nèi)部功能的檢查。
(16)模板設(shè)計(jì)變得簡(jiǎn)單
模板設(shè)計(jì)為開(kāi)發(fā)人員節(jié)省了數(shù)小時(shí)的開(kāi)發(fā)時(shí)間,并允許他們?cè)赾reate-react-app 完成開(kāi)發(fā)環(huán)境的設(shè)置后迅速編寫應(yīng)用程序的代碼。
6、從框架對(duì)比上來(lái)看

在目前的前端框架使用上,React 和Vue 無(wú)論在國(guó)內(nèi)還是國(guó)外,都是應(yīng)用比重最大的兩個(gè)前端框架。
那我們?cè)诳蚣苁褂蒙?,該如何選擇呢?我的觀點(diǎn)是,沒(méi)有一個(gè)框架是完美的,符合所有場(chǎng)景的框架,你去選擇一個(gè)框架,不存在哪個(gè)框架是最好的, 或者是最不好的,只能選擇一個(gè)最適合你的框架。
6.1、從實(shí)際場(chǎng)景的特點(diǎn),尋找最適合你的框架

(1)關(guān)注團(tuán)隊(duì)新人技術(shù)長(zhǎng)大的場(chǎng)景
比如,你所在的公司項(xiàng)目開(kāi)發(fā)流程已經(jīng)很成熟了,產(chǎn)品也已經(jīng)很成熟了,有一個(gè)比較穩(wěn)定的狀態(tài),這個(gè)時(shí)候公司來(lái)了一批新人,當(dāng)前也沒(méi)有太多的功能需要開(kāi)發(fā),培養(yǎng)新人是一個(gè)最重要的目的,在這種背景下,比如你是一個(gè)leader,你可以讓新人去做一些用 Angular 或 jQuery 這種框架型的產(chǎn)品,為什么做這樣的技術(shù)選型呢?比如說(shuō) Angular 帶有很多后端的設(shè)計(jì)思想在里面,一個(gè)新同學(xué)或者應(yīng)屆生進(jìn)來(lái),你能去看看Angular的代碼,對(duì)增加后端的知識(shí)面是很有幫助的。再比如說(shuō)你用jQuery開(kāi)發(fā),雖然它很老,效率也低,但不可否認(rèn) jQuery很多設(shè)計(jì)思想其實(shí)很有借鑒價(jià)值的,如果你能看看 jQuery 的這些工程,肯定對(duì)你了解框架的封裝,語(yǔ)法的封裝會(huì)有很大的幫助。在這個(gè)階段,更應(yīng)該選擇貼近技術(shù)底層的一個(gè)框架,帶有更多設(shè)計(jì)思想的框架。
(2)關(guān)注安全、保密性場(chǎng)景
比如軍隊(duì)、國(guó)企項(xiàng)目,這是一些很敏感的系統(tǒng),這些系統(tǒng)可能沒(méi)有辦法使用Vue或React框架,你只能做一些框架的自研,這樣自研的框架是符合安全和保密性要求的。
(3)關(guān)注研發(fā)效率的場(chǎng)景
本節(jié)討論的重點(diǎn)是 React 和Vue 的比較,為什么企業(yè)項(xiàng)目研發(fā)多選擇 React 或Vue 呢?因?yàn)閼?yīng)用這兩個(gè)框架會(huì)大大提高研發(fā)效率。大家也不要會(huì) React 就覺(jué)得 React 最好,會(huì) Vue 覺(jué)得Vue 最好,聽(tīng)說(shuō)其他的框架效率不高,就覺(jué)得它不好。其實(shí),框架的選擇沒(méi)有好壞之分,只有適不適合你的項(xiàng)目場(chǎng)景之分。查理芒格,這位投資大師曾經(jīng)講過(guò)一個(gè)鐵錘人的故事,不能手里拿著錘子,看什么都像釘子。我們不能手里拿著一個(gè)框架就說(shuō)其他框架不行,這個(gè)思維一定要扭轉(zhuǎn)一下。
6.2、不同角度看 React 和 Vue

React 和 Vue 從我個(gè)人角度看,做的都非常好了,不然整個(gè)業(yè)界也不會(huì)有這么多人用。但把它們兩個(gè)放到一起,就免不了要對(duì)比,接下來(lái)我們從不同的角度來(lái)對(duì)React 和 Vue 各方面做個(gè)分析,分析的結(jié)果是,大家根據(jù)自己的場(chǎng)景特點(diǎn),來(lái)選擇你到底是用React 還是 Vue。
(1)團(tuán)隊(duì)背書角度
首先我們從 React 和 Vue 的團(tuán)隊(duì)背書看起。我們知道,Vue的團(tuán)隊(duì)主要是以尤雨溪為主的一個(gè)社區(qū)團(tuán)隊(duì),而 facebook 是對(duì)React負(fù)責(zé)的,有一個(gè)大型的互聯(lián)網(wǎng)團(tuán)隊(duì)來(lái)維護(hù)React。從這個(gè)角度看,誰(shuí)有更好的背書呢?我們想象一下,如果你在一個(gè)大廠,一個(gè)40個(gè)前端的團(tuán)隊(duì),大概有10個(gè)人左右做基礎(chǔ)設(shè)施建設(shè)。Facebook 開(kāi)發(fā) React 也一樣,他的配置只會(huì)比這個(gè)好,不會(huì)比這個(gè)差,幾十個(gè)前端技術(shù)專家去研究一個(gè)框架,每天工作 8 小時(shí),持續(xù)不斷的思考這個(gè)框架如何設(shè)計(jì),這就能充分的保障 React 的先進(jìn)性,遇到新進(jìn)行的理念,他們也會(huì)第一時(shí)間補(bǔ)充到 React 的技術(shù)體系里,所以 React 一定有一個(gè)充足的技術(shù)支撐。
當(dāng)然,Evan You 也是在全職保障Vue,但不可否認(rèn),Vue還是靠開(kāi)源社區(qū),Evan You 也招募了一些人做全職開(kāi)發(fā),但相對(duì)于React 這樣非常專業(yè)的團(tuán)隊(duì),人員上面我不認(rèn)為它能比的上 React 這樣的先進(jìn)團(tuán)隊(duì)的持續(xù)輸出,可能接近,但一定是有差距的。
從這個(gè)角度來(lái)看,你去做一個(gè)項(xiàng)目,希望項(xiàng)目能不斷的跟上前端技術(shù)的發(fā)展,React 相對(duì)Vue就有優(yōu)勢(shì)了,因?yàn)镽eact團(tuán)隊(duì)背書更加強(qiáng)悍一點(diǎn),Vue 靠開(kāi)源社區(qū),力量會(huì)薄弱一些。
但如果你開(kāi)發(fā)一個(gè)小型的項(xiàng)目,或者只是快速實(shí)現(xiàn)一個(gè) DEMO 功能,一個(gè)不太復(fù)雜的項(xiàng)目,那背書的事情就不是你該考慮的問(wèn)題了,因?yàn)橐诲N子買賣,實(shí)現(xiàn)完了就完了,或者說(shuō)未來(lái)工程也不會(huì)發(fā)展到一個(gè)多么龐大的體系,你也不需要從這個(gè)項(xiàng)目上做很多的創(chuàng)新,這個(gè)時(shí)候硬考慮背書就沒(méi)有意義了。但如果你的項(xiàng)目未來(lái)會(huì)非常大,會(huì)不斷的應(yīng)用新技術(shù),順滑的應(yīng)用集成到你的項(xiàng)目里,這個(gè)時(shí)候React優(yōu)勢(shì)就凸顯了。
(2)從架構(gòu)設(shè)計(jì)角度
第二個(gè)我們從架構(gòu)設(shè)計(jì)的角度來(lái)看React 和 Vue。Vue 架構(gòu)設(shè)計(jì)有點(diǎn)類似于框架,框架是什么?舉個(gè)例子,假如你去蓋一棟大樓,框架就是把鋼筋水泥柱子都給你做好,你只需要粉刷個(gè)墻壁,貼個(gè)瓷磚,這些裝修的事你自己弄就行了。Vue 很類似與這樣一個(gè)框架,它把骨架給你搭好,你去填肉就行了。比如Vue-router、Vuex、Vue unti-test 等等,官方都會(huì)給你提供好,你要做的就是拿過(guò)來(lái)直接寫業(yè)務(wù),這就是 Vue 框架設(shè)計(jì)的理念,也就是 Framework。
React 官網(wǎng)把自己定義為一個(gè)前端的Library,它不是一個(gè)框架,我就是一個(gè)前端庫(kù),我這個(gè)庫(kù)里提供必要的東西,至于你用這個(gè)庫(kù)如何構(gòu)建你的代碼,或者說(shuō)你想用這些磚頭如何去壘你的房子,你自己來(lái)決定。比如說(shuō)我想用這個(gè)庫(kù)蓋一個(gè)試用于自己的小房子,你完全可以用React 封裝自己的 Router, 封裝自己的數(shù)據(jù)流工具,封裝自己的測(cè)試工具。當(dāng)然,在大公司,你完全可以把它做成一個(gè)框架也可以。
可見(jiàn),Vue 的設(shè)計(jì)理念,它把自己設(shè)計(jì)成一個(gè)架子,把你約束在里面,但React的設(shè)計(jì)理念就是把自己做成磚頭,你要不要撘成一個(gè)架子,你自己來(lái)決定,你如何開(kāi)發(fā)你的房子,也是你自己決定。因此,React 相對(duì)于 Vue 來(lái)說(shuō)更加靈活,Vue 相對(duì)于React,結(jié)構(gòu)化會(huì)更強(qiáng)。
從這個(gè)設(shè)計(jì)架構(gòu)角度講,再來(lái)看什么場(chǎng)景下適合使用 React,什么場(chǎng)景下適合使用 Vue。舉個(gè)例子,你的團(tuán)隊(duì)都是菜鳥(niǎo)成員,這個(gè)時(shí)候不用想,肯定選 Vue,因?yàn)榧茏右呀?jīng)搭好了,讓這些新人直接填肉就行,這個(gè)工程會(huì)很快的搭建出來(lái),那這個(gè)時(shí)候你要選 React,就不合理了,因?yàn)檫@個(gè)時(shí)候需要有人來(lái)大家架子,要不要用數(shù)據(jù)流工具,到底該如何設(shè)計(jì)項(xiàng)目的架構(gòu),這樣如果選擇 React,工程架構(gòu)體系反而不如 Vue。相反,你的團(tuán)隊(duì)成員能力非常強(qiáng),你鼓勵(lì)他們技術(shù)創(chuàng)新,不用多說(shuō),用React開(kāi)放性更好,靈活度更好,會(huì)產(chǎn)生更多的 idea,提供更多創(chuàng)新的土壤。
(3)從生態(tài)影響力角度
最后從生態(tài)影響力角度,來(lái)分析一下React 和 Vue 的區(qū)別。在國(guó)內(nèi),React 和Vue 的影響力都不差,很多大廠也在用 Vue,像百度、小紅書、滴滴、美團(tuán)等公司都在用 Vue,像阿里,Airbnb 這些公司就在用 React。如果你的團(tuán)隊(duì)英文水平還不錯(cuò),用 React 可能會(huì)更好,中文查不多資料,可以查英文,資料會(huì)很多。如果你中文很好,那就用 Vue,Vue的中文文檔比React的中文文檔寫的要好,Vue 中文文檔是一手文檔,React 中文文檔都是二手文檔了。所以,你可以根據(jù)你團(tuán)隊(duì)的情況和你自身的情況再做框架的選型。
(4)從性能的角度
Vue 性能是優(yōu)勢(shì),但 React 性能不是劣勢(shì),Vue 總體底層性能比 React 好一點(diǎn)點(diǎn),這些對(duì)于一般項(xiàng)目來(lái)說(shuō)可以忽略不計(jì)。值得一提的是,Vue 很多性能提升都幫你代勞了,你不需要手工做太多的性能優(yōu)化,可React 不行,像 shouldComponentUpate, useMemo 等優(yōu)化手段默認(rèn)是不實(shí)裝的,需要用戶去自己優(yōu)化,這樣的好處使 React 使用更加靈活,你可以完整把控項(xiàng)目的性能,劣勢(shì)也是優(yōu)勢(shì)。
(5)從技術(shù)創(chuàng)新角度
Vue 開(kāi)發(fā)工程師技術(shù)上限很難突破,因?yàn)槭褂脛e人做好的架子,想做一些創(chuàng)新有點(diǎn)難,因?yàn)橛袝r(shí)你會(huì)被框架約束死。比如你用Vue2.0就有這個(gè)體感,想使用TS,會(huì)受限與Vue框架的實(shí)現(xiàn),TS就是沒(méi)法很好的使用,直到Vue3出現(xiàn)才緩解了這個(gè)尷尬。React 不會(huì)存在這個(gè)問(wèn)題,很多東西都可以和 React 拼接和組裝,想做技術(shù)創(chuàng)新會(huì)非常容易。這就不難理解有些大廠為什么選擇使用React 了,使用 React 更容易造一些輪子,更容易拿一些技術(shù)結(jié)果,更容易做一些有創(chuàng)意的東西了。
五、總結(jié)

1、沒(méi)有一分錢的工資是白給的,不學(xué)習(xí)React 工資起點(diǎn)就低了(低一半)。
2、跟隨 Facebook 團(tuán)隊(duì)學(xué)習(xí) React ,走在全球前端技術(shù)發(fā)展最前沿(背景牛)。3、React 擁有全球最完善的開(kāi)發(fā)社區(qū),技術(shù)問(wèn)題借助社區(qū)可以輕松處理(有支持)。
4、React Library 開(kāi)放設(shè)計(jì)理念,提供給開(kāi)發(fā)者最大的技術(shù)創(chuàng)新空間(能創(chuàng)新)。5、React 的大多數(shù)理念被其他框架借鑒,學(xué)習(xí)好 React,輕松上手其他框架(泛用性)。
6、React 大廠面試必備技能,走上開(kāi)發(fā)巔峰的強(qiáng)力敲門磚(有前景,有錢景)。
說(shuō)事實(shí),講道理, 好話都說(shuō)盡了,你小子要是還想只學(xué)Vue,棄React于不顧,斷送自己的大廠前程,葬送自己的美好錢途,就休怪為兄的無(wú)情,今天就給你安排一頓吃不了兜著走!

(, 下載次數(shù): 12)

-----------------------------




歡迎光臨 愛(ài)鋒貝 (http://7gfy2te7.cn/) Powered by Discuz! X3.4