大家好,我卡頌。
最近尤大的一個推文引起了不小熱議,大概經(jīng)過是:
尤大在推上的發(fā)言一直比較耿直,這次又涉及到React這個老對手,關(guān)注度自然不低。
再加上國內(nèi)前端自媒體的一波引導(dǎo)發(fā)酵,比如知乎下這個話題相關(guān)的問題中的措辭是「怒噴」,懂得都懂。
在這樣氛圍與二手信源的影響下,會給人一種「大佬都親手下場撕了」的感覺,自然會引來React、Vue各自擁躉的一番激烈討論。
年年都是一樣的套路,毫無新意......
面對這樣的爭吵,我們應(yīng)該做什么呢?
首先,回到源頭本身,尤大diss的有道理么?有。
React的心智負擔(dān)重么?確實重。比如useEffec這個API,你能想象文檔中一個章節(jié)居然有6篇文章是教你如何正確使用useEffec的么?
造成這一現(xiàn)象的原因有很多,比如:
當(dāng)我們繼續(xù)往前回溯,「Hooks必須顯式聲明依賴」是「React更新機制」決定的,而「React更新機制」又是React實現(xiàn)原理的核心。
本質(zhì)來說,還是React既往的成功、龐大的社區(qū)生態(tài)讓他積重難返,無法從底層重寫。
這是歷史必然的進程,如果Vue所有新特性都在Vue2基礎(chǔ)上迭代(而不是完全重寫的Vue3),我相信也是同樣的局面。
所以,當(dāng)前React的迭代方向是 —— 支持上層框架(比如Next.js、Remix),寄希望于靠這些框架的封裝能力彌補React自身心智負擔(dān)重的缺點。這個策略顯然也是成功的。
回到這次爭吵本身,尤大不知道React文檔為什么要花大篇幅幫開發(fā)者避坑(以及背后反映的積重難返)么?他顯然是知道的。
他如此回復(fù)是因為他所處的位置是「框架作者」,React是他的競爭對手。設(shè)想一下,如果你的競爭對手在一些方面確實不如你,但他的用戶對此的反應(yīng)不是“太難用了,我要換個好用的”,而是“一定是我用的姿勢不對,你快出個文檔好好教教我”
面對這樣的用戶,換誰都得有一肚子牢騷吧~
讓我們再把視角轉(zhuǎn)到「React的用戶」(也就是我們這些普通開發(fā)者)上。我們?yōu)槭裁催x擇React呢?
可能有些人是處于喜好。但大部分開發(fā)者之所以用React,完全是因為公司要求用React。
用React的公司多,招React的崗位多,自然選擇React的開發(fā)者就多了。
那么為什么用React的公司多呢?這顯然是多年前React在先發(fā)優(yōu)勢、社區(qū)生態(tài)兩場戰(zhàn)役取勝后得到的結(jié)果。
所以,我們需要尊重兩個事實:
兩者并不矛盾,他們都是歷史進程的產(chǎn)物。
Vue、React之間的討論,即使是從技術(shù)層面出發(fā),最后也容易陷入“React心智負擔(dān)這么重,你們還甘之如飴,你們React黨是不是傻”這樣的爭吵中。
這顯然就是忽略了歷史的進程。
正確的應(yīng)對方式是多關(guān)心關(guān)心自己未來的發(fā)展:
本文鏈接:http://www.tebozhan.com/showinfo-26-58976-0.html當(dāng)別人因為React、Vue吵起來時,我們應(yīng)該做什么
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。郵件:2376512515@qq.com
上一篇: Go語言常見錯誤—將接口定義在實現(xiàn)方一側(cè)
下一篇: 詳解Rust編程中的生命周期