昨天我學(xué)前端的表弟突然問我:哥,我可不可以不學(xué)React啊?我感覺Vue夠用了!
我**上去就是一B兜,還想不想好好干了?不想好好干前端,你就直說,還想放棄React,人家都是擔(dān)心劍未佩妥,轉(zhuǎn)身已是江湖。你倒好,劍都不帶,直接殺上梁山!怎么?明知山有虎,偏向虎山行!那你也得看看自己叫不叫武松啊?大郎!是不是又該吃藥啦?
老弟,哥今年搞前端第9個(gè)年頭,馬上“前端九年義務(wù)教育”就要畢業(yè),負(fù)責(zé)任的告訴你,react那可是前端賺大錢的標(biāo)配。今天我就給你念叨念叨,為什么前端不能放棄React?
1、 從市場(chǎng)流行度來看
React是企業(yè)項(xiàng)目開發(fā)流行框架之一,不學(xué)React,等于自斷一臂?,F(xiàn)在市場(chǎng)上也就兩個(gè)流行框架:一個(gè)Vue,一個(gè)React。其他的我們先不討論。你上來先放棄一半,半壁江山。直接損失一個(gè)“汪峰”,難怪你上不了頭條。之后我們?nèi)轿宦敿?xì)說······
2、從大廠技術(shù)選型來看
React 是大廠的選擇,也是我們進(jìn)大廠的選擇。
根據(jù)各公司招聘信息,梳理的60家公司項(xiàng)目開發(fā),前端技術(shù)棧的框架使用情況。其中包括大、中、小廠的信息。從這些數(shù)據(jù)來看:
1、Vue 和 React市場(chǎng)占有率大約各占 50%;
2、一線大廠應(yīng)用React居多,中小公司vue居多。
你能想的出名字的大廠他們都在用React,阿里, 美團(tuán),騰訊,網(wǎng)易,百度,新東方,聯(lián)想,新浪,滴滴,快手,嗶哩嗶哩,小米,美圖,攜程,這些大佬們都在用React,而且React的占比還不在少數(shù)!你告訴我你憑什么說要放棄學(xué)React?不想進(jìn)大廠?不想拿高薪?誰跟錢過不去?如果過不去,那就是不夠多!
3、從薪資水平來看
我們不說那些虛的,直接就是看一波薪資:
北京 React 前端工程師工資收入:
北京 Vue 前端工程師工資收入:
通過查詢的結(jié)果看,在北京,React 崗位的薪資是 Vue 崗位薪資的2倍,大家可以通過自己搜索來查詢其他的城市情況?;镜那闆r是差不多的,這和 React 人才市場(chǎng)缺乏有很大的關(guān)系。
沒有一分錢的工資是白給的, 不學(xué)習(xí) React 工資起點(diǎn)就低了。學(xué)了React工資直接翻一番!你自己看著辦!
4、從技術(shù)背景來看
再說人家React的出身,React JS (以下簡(jiǎn)稱React)基本上是一個(gè)由 Facebook 建立和維護(hù)的 JavaScript 庫。妥妥的名門之后,穩(wěn)穩(wěn)的將相之姿。
根據(jù) React 的創(chuàng)建者Jordan Walke 的說法,React是一個(gè)高效、聲明性和靈活的開源 JavaScript 庫,用于構(gòu)建簡(jiǎn)單、快速和可擴(kuò)展的Web應(yīng)用前端。
自推出以來,它已經(jīng)在前端開發(fā)領(lǐng)域掀起了一場(chǎng)風(fēng)暴。跟迪迦一個(gè)級(jí)別(新的風(fēng)暴已經(jīng)出現(xiàn),怎么能夠停滯不前)。
Stack Overflow 的最新調(diào)查也顯示,React是最受喜愛的網(wǎng)絡(luò)框架,而 Angular 在同一列表中排名第 9。
今天,有超過22萬個(gè)網(wǎng)站使用React。不僅如此,像上面所調(diào)查的,阿里、快手、騰訊、字節(jié)、小米、網(wǎng)易、滴滴等,蘋果、Netflix、Paypal等行業(yè)巨頭也已經(jīng)開始在其項(xiàng)目中使用 React。
5、從技術(shù)本身來看
說完出身,我們還得看看React這孩子本身的資質(zhì)怎么樣!
既然有這么多大廠選擇了React,那他肯定有無可比擬的優(yōu)越性,來看。
5.1、React 用于前端開發(fā)的主要優(yōu)點(diǎn)
讓我們看看 React 的主要優(yōu)點(diǎn),了解它為什么從其他前端開發(fā)框架中脫穎而出。
(1)速度
React 基本上允許開發(fā)者在客戶端和服務(wù)器端,利用其應(yīng)用程序的各個(gè)部分,這最終提高了[開發(fā)過程](about:blank)的速度。
簡(jiǎn)單地說,不同的開發(fā)者可以編寫單獨(dú)的部分,所有的改變都不會(huì)導(dǎo)致應(yīng)用程序的邏輯。
(2)靈活性
與其他前端框架相比,React 代碼更容易維護(hù),并且由于其模塊化結(jié)構(gòu)而具有靈活性。這種靈活性反過來又為企業(yè)節(jié)省了大量的時(shí)間和成本。
(3)性能
React 在設(shè)計(jì)時(shí)就考慮到了提供高性能。該框架的核心提供了一個(gè)虛擬 DOM 程序和服務(wù)器端渲染,這使得復(fù)雜的應(yīng)用程序運(yùn)行得非???。
擴(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 開發(fā)人員可以在三周內(nèi)輕松地學(xué)會(huì) React 框架的所有內(nèi)涵和外延。
(5)可重用的組件
使用React 的主要好處之一是它有可能重復(fù)使用組件。這為開發(fā)人員節(jié)省了時(shí)間,因?yàn)樗麄儾槐貫橄嗤墓δ芫帉懜鞣N代碼。此外,如果在任何特定的部分做出任何改變,都不會(huì)影響應(yīng)用程序的其他部分。
同時(shí),如果你認(rèn)為React只適用于網(wǎng)頁開發(fā),那你就大錯(cuò)特錯(cuò)了! Facebook很早就已經(jīng)升級(jí)了該框架,推出了 React Native,用于開發(fā) Android 和 iOS 平臺(tái)的移動(dòng)原生應(yīng)用程序。
5.2、React 可以成為企業(yè)項(xiàng)目開發(fā)最佳選擇的16個(gè)原因
(1)它很容易學(xué)習(xí)
React,與其他流行的前端框架如Angular 和 Vue 相比,更容易學(xué)習(xí)。
事實(shí)上,這也是 React 在短時(shí)間內(nèi)獲得如此大的吸引力的主要原因之一。它幫助企業(yè)快速建立他們的項(xiàng)目。
你看,學(xué)習(xí)某項(xiàng)技術(shù)或框架越難,開始開發(fā)過程所需的時(shí)間就越長(zhǎng)。由于 React 是一個(gè)簡(jiǎn)單的框架,容易學(xué)習(xí)和開始,企業(yè)和大廠更傾向于使用它。
(2)它有助于建立豐富的用戶界面
今天,一個(gè)應(yīng)用程序的用戶界面的質(zhì)量起著重要的作用。如果用戶界面設(shè)計(jì)得不好,那么它就會(huì)降低一個(gè)應(yīng)用程序成功的機(jī)會(huì)。因此,建立豐富的用戶界面對(duì)于一個(gè)應(yīng)用程序的生存和發(fā)展是必要的。
好消息是,React允許通過它的聲明式組件來構(gòu)建這種高質(zhì)量的、豐富的用戶界面。
(3)它允許編寫自定義組件
React 自帶 JSX,一個(gè)可選的語法擴(kuò)展,這使得編寫我們自己的組件成為可能。
這些組件基本上接受 HTML 引用,也使所有子組件的渲染成為開發(fā)者的愉快體驗(yàn)。
雖然關(guān)于JSX的問題有很多爭(zhēng)論,但它已經(jīng)可以用于編寫自定義組件,構(gòu)建大批量的應(yīng)用程序,并將HTML虛擬結(jié)構(gòu)圖轉(zhuǎn)換為 ReactElement 樹。
(4)它提高了開發(fā)者的生產(chǎn)力
當(dāng)一個(gè)應(yīng)用程序具有復(fù)雜的邏輯,并且一個(gè)組件的單一修改會(huì)極大地影響其他組件時(shí),頻繁的更新往往會(huì)變成頭疼。為了解決這個(gè)問題,F(xiàn)acebook 通過組件重用性功能擴(kuò)充了 React。
React 中的組件重用性,允許開發(fā)者重新部署相同的組件對(duì)象。
這種方法提供了更好的代碼維護(hù)和增長(zhǎng),因?yàn)镽eact中的每個(gè)組件都有自己的內(nèi)部邏輯,這很容易操作,因此,提高了應(yīng)用開發(fā)的生產(chǎn)力。
(5)它提供快速渲染
當(dāng)你建立一個(gè)復(fù)雜的、高負(fù)荷的應(yīng)用程序時(shí),在一開始就定義應(yīng)用程序的架構(gòu)是必須的,因?yàn)樗梢杂绊懩愕膽?yīng)用程序的性能。
簡(jiǎn)單地說,DOM模型是樹狀結(jié)構(gòu)的。因此,在較高層次上的一個(gè)小修改會(huì)嚴(yán)重影響應(yīng)用程序的用戶界面。為了解決這個(gè)問題,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)化是成功的途徑。
一般情況下,頁面加載時(shí)間越短,渲染速度越快,應(yīng)用程序在百度等搜索引擎上的排名就越高。
由于渲染速度快,React與其他框架相比,大大減少了頁面加載時(shí)間,這大大有助于企業(yè)在百度搜索引擎結(jié)果頁上獲得第一排名。
擴(kuò)展閱讀:如何使用ReactJS構(gòu)建快速和SEO友好的網(wǎng)絡(luò)應(yīng)用程序
(7)它配備了有用的開發(fā)者工具集
學(xué)習(xí)新興技術(shù),并在實(shí)際項(xiàng)目中使用它們既有趣又有益,但前提是要正確使用它們。
Facebook 明白這一點(diǎn),正是因?yàn)檫@個(gè)原因,他們?cè)?React 框架中增加了 React開發(fā)工具 和 Chrome開發(fā)工具。
這些React工具可以幫助開發(fā)者發(fā)現(xiàn)子組件和父組件,觀察組件的層次結(jié)構(gòu),并檢查組件的當(dāng)前狀態(tài)。
(8)強(qiáng)大的社區(qū)支持
像 Angular 一樣,React 也有非常強(qiáng)大的社區(qū)支持,這是在我們的項(xiàng)目中采用 React 的主要原因之一。
每天都有大量的 React 開發(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)開發(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解決方案的例子吧。成千上萬的公司,包括一些財(cái)富500強(qiáng)公司,都選擇了React JS來做他們的網(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)用開發(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)目中的主要好處是,開發(fā)人員可以在 JavaScript 和 Modem JSX 上寫作。這種方法將允許他們?cè)诖a中使用HTML插入,這使得有廣泛的機(jī)會(huì)進(jìn)行重組,并提高完整的生產(chǎn)力。
(13)測(cè)試和功能
React 的結(jié)果不僅是性能,也是高度可測(cè)試的應(yīng)用程序。它使開發(fā)一個(gè)明確的設(shè)計(jì)更容易,對(duì)測(cè)試友好。它們可以從觸發(fā)的輸出、函數(shù)、事件等方面進(jìn)行監(jiān)督。
(14)以UI為重點(diǎn)的設(shè)計(jì)
React 為任何 UI 布局提供了潛力。它允許重大的數(shù)據(jù)變化來自動(dòng)轉(zhuǎn)換特定的UI元素。由于這一最新功能,你不需要任何東西來更新UI。
(15)它提供了一個(gè)獨(dú)特的抽象層
React 強(qiáng)大的一面是它提供了一個(gè)良好的抽象,這意味著它不會(huì)向用戶透露任何復(fù)雜的內(nèi)部信息。開發(fā)人員必須了解一些基礎(chǔ)知識(shí),并保留對(duì)內(nèi)部功能的檢查。
(16)模板設(shè)計(jì)變得簡(jiǎn)單
模板設(shè)計(jì)為開發(fā)人員節(jié)省了數(shù)小時(shí)的開發(fā)時(shí)間,并允許他們?cè)赾reate-react-app 完成開發(fā)環(huán)境的設(shè)置后迅速編寫應(yīng)用程序的代碼。
6、從框架對(duì)比上來看
在目前的前端框架使用上,React 和Vue 無論在國內(nèi)還是國外,都是應(yīng)用比重最大的兩個(gè)前端框架。
那我們?cè)诳蚣苁褂蒙?,該如何選擇呢?我的觀點(diǎn)是,沒有一個(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)目開發(fā)流程已經(jīng)很成熟了,產(chǎn)品也已經(jīng)很成熟了,有一個(gè)比較穩(wěn)定的狀態(tài),這個(gè)時(shí)候公司來了一批新人,當(dāng)前也沒有太多的功能需要開發(fā),培養(yǎng)新人是一個(gè)最重要的目的,在這種背景下,比如你是一個(gè)leader,你可以讓新人去做一些用 Angular 或 jQuery 這種框架型的產(chǎn)品,為什么做這樣的技術(shù)選型呢?比如說 Angular 帶有很多后端的設(shè)計(jì)思想在里面,一個(gè)新同學(xué)或者應(yīng)屆生進(jìn)來,你能去看看Angular的代碼,對(duì)增加后端的知識(shí)面是很有幫助的。再比如說你用jQuery開發(fā),雖然它很老,效率也低,但不可否認(rèn) jQuery很多設(shè)計(jì)思想其實(shí)很有借鑒價(jià)值的,如果你能看看 jQuery 的這些工程,肯定對(duì)你了解框架的封裝,語法的封裝會(huì)有很大的幫助。在這個(gè)階段,更應(yīng)該選擇貼近技術(shù)底層的一個(gè)框架,帶有更多設(shè)計(jì)思想的框架。
(2)關(guān)注安全、保密性場(chǎng)景
比如軍隊(duì)、國企項(xiàng)目,這是一些很敏感的系統(tǒng),這些系統(tǒng)可能沒有辦法使用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 就覺得 React 最好,會(huì) Vue 覺得Vue 最好,聽說其他的框架效率不高,就覺得它不好。其實(shí),框架的選擇沒有好壞之分,只有適不適合你的項(xiàng)目場(chǎng)景之分。查理芒格,這位投資大師曾經(jīng)講過一個(gè)鐵錘人的故事,不能手里拿著錘子,看什么都像釘子。我們不能手里拿著一個(gè)框架就說其他框架不行,這個(gè)思維一定要扭轉(zhuǎn)一下。
6.2、不同角度看 React 和 Vue
React 和 Vue 從我個(gè)人角度看,做的都非常好了,不然整個(gè)業(yè)界也不會(huì)有這么多人用。但把它們兩個(gè)放到一起,就免不了要對(duì)比,接下來我們從不同的角度來對(duì)React 和 Vue 各方面做個(gè)分析,分析的結(jié)果是,大家根據(jù)自己的場(chǎng)景特點(diǎn),來選擇你到底是用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ì)來維護(hù)React。從這個(gè)角度看,誰有更好的背書呢?我們想象一下,如果你在一個(gè)大廠,一個(gè)40個(gè)前端的團(tuán)隊(duì),大概有10個(gè)人左右做基礎(chǔ)設(shè)施建設(shè)。Facebook 開發(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還是靠開源社區(qū),Evan You 也招募了一些人做全職開發(fā),但相對(duì)于React 這樣非常專業(yè)的團(tuán)隊(duì),人員上面我不認(rèn)為它能比的上 React 這樣的先進(jìn)團(tuán)隊(duì)的持續(xù)輸出,可能接近,但一定是有差距的。
從這個(gè)角度來看,你去做一個(gè)項(xiàng)目,希望項(xiàng)目能不斷的跟上前端技術(shù)的發(fā)展,React 相對(duì)Vue就有優(yōu)勢(shì)了,因?yàn)镽eact團(tuán)隊(duì)背書更加強(qiáng)悍一點(diǎn),Vue 靠開源社區(qū),力量會(huì)薄弱一些。
但如果你開發(fā)一個(gè)小型的項(xiàng)目,或者只是快速實(shí)現(xiàn)一個(gè) DEMO 功能,一個(gè)不太復(fù)雜的項(xiàng)目,那背書的事情就不是你該考慮的問題了,因?yàn)橐诲N子買賣,實(shí)現(xiàn)完了就完了,或者說未來工程也不會(huì)發(fā)展到一個(gè)多么龐大的體系,你也不需要從這個(gè)項(xiàng)目上做很多的創(chuàng)新,這個(gè)時(shí)候硬考慮背書就沒有意義了。但如果你的項(xiàng)目未來會(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ì)的角度來看React 和 Vue。Vue 架構(gòu)設(shè)計(jì)有點(diǎn)類似于框架,框架是什么?舉個(gè)例子,假如你去蓋一棟大樓,框架就是把鋼筋水泥柱子都給你做好,你只需要粉刷個(gè)墻壁,貼個(gè)瓷磚,這些裝修的事你自己弄就行了。Vue 很類似與這樣一個(gè)框架,它把骨架給你搭好,你去填肉就行了。比如Vue-router、Vuex、Vue unti-test 等等,官方都會(huì)給你提供好,你要做的就是拿過來直接寫業(yè)務(wù),這就是 Vue 框架設(shè)計(jì)的理念,也就是 Framework。
React 官網(wǎng)把自己定義為一個(gè)前端的Library,它不是一個(gè)框架,我就是一個(gè)前端庫,我這個(gè)庫里提供必要的東西,至于你用這個(gè)庫如何構(gòu)建你的代碼,或者說你想用這些磚頭如何去壘你的房子,你自己來決定。比如說我想用這個(gè)庫蓋一個(gè)試用于自己的小房子,你完全可以用React 封裝自己的 Router, 封裝自己的數(shù)據(jù)流工具,封裝自己的測(cè)試工具。當(dāng)然,在大公司,你完全可以把它做成一個(gè)框架也可以。
可見,Vue 的設(shè)計(jì)理念,它把自己設(shè)計(jì)成一個(gè)架子,把你約束在里面,但React的設(shè)計(jì)理念就是把自己做成磚頭,你要不要撘成一個(gè)架子,你自己來決定,你如何開發(fā)你的房子,也是你自己決定。因此,React 相對(duì)于 Vue 來說更加靈活,Vue 相對(duì)于React,結(jié)構(gòu)化會(huì)更強(qiáng)。
從這個(gè)設(shè)計(jì)架構(gòu)角度講,再來看什么場(chǎng)景下適合使用 React,什么場(chǎng)景下適合使用 Vue。舉個(gè)例子,你的團(tuán)隊(duì)都是菜鳥成員,這個(gè)時(shí)候不用想,肯定選 Vue,因?yàn)榧茏右呀?jīng)搭好了,讓這些新人直接填肉就行,這個(gè)工程會(huì)很快的搭建出來,那這個(gè)時(shí)候你要選 React,就不合理了,因?yàn)檫@個(gè)時(shí)候需要有人來大家架子,要不要用數(shù)據(jù)流工具,到底該如何設(shè)計(jì)項(xiàng)目的架構(gòu),這樣如果選擇 React,工程架構(gòu)體系反而不如 Vue。相反,你的團(tuán)隊(duì)成員能力非常強(qiáng),你鼓勵(lì)他們技術(shù)創(chuàng)新,不用多說,用React開放性更好,靈活度更好,會(huì)產(chǎn)生更多的 idea,提供更多創(chuàng)新的土壤。
(3)從生態(tài)影響力角度
最后從生態(tài)影響力角度,來分析一下React 和 Vue 的區(qū)別。在國內(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)目來說可以忽略不計(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 開發(fā)工程師技術(shù)上限很難突破,因?yàn)槭褂脛e人做好的架子,想做一些創(chuàng)新有點(diǎn)難,因?yàn)橛袝r(shí)你會(huì)被框架約束死。比如你用Vue2.0就有這個(gè)體感,想使用TS,會(huì)受限與Vue框架的實(shí)現(xiàn),TS就是沒法很好的使用,直到Vue3出現(xiàn)才緩解了這個(gè)尷尬。React 不會(huì)存在這個(gè)問題,很多東西都可以和 React 拼接和組裝,想做技術(shù)創(chuàng)新會(huì)非常容易。這就不難理解有些大廠為什么選擇使用React 了,使用 React 更容易造一些輪子,更容易拿一些技術(shù)結(jié)果,更容易做一些有創(chuàng)意的東西了。
五、總結(jié)
1、沒有一分錢的工資是白給的,不學(xué)習(xí)React 工資起點(diǎn)就低了(低一半)。
2、跟隨 Facebook 團(tuán)隊(duì)學(xué)習(xí) React ,走在全球前端技術(shù)發(fā)展最前沿(背景牛)。3、React 擁有全球最完善的開發(fā)社區(qū),技術(shù)問題借助社區(qū)可以輕松處理(有支持)。
4、React Library 開放設(shè)計(jì)理念,提供給開發(fā)者最大的技術(shù)創(chuàng)新空間(能創(chuàng)新)。5、React 的大多數(shù)理念被其他框架借鑒,學(xué)習(xí)好 React,輕松上手其他框架(泛用性)。
6、React 大廠面試必備技能,走上開發(fā)巔峰的強(qiáng)力敲門磚(有前景,有錢景)。
說事實(shí),講道理, 好話都說盡了,你小子要是還想只學(xué)Vue,棄React于不顧,斷送自己的大廠前程,葬送自己的美好錢途,就休怪為兄的無情,今天就給你安排一頓吃不了兜著走!