自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

別被前端框架 PUA 了!

開發(fā) 架構(gòu)
一個好的框架應(yīng)該盡可能地減少用戶的心智負(fù)擔(dān),提供簡單、直觀的解決方案,同時也要允許用戶有一定的定制化和擴(kuò)展性。作為開發(fā)者,需要不斷地反思和改進(jìn)工具,以便更好地滿足用戶的需求。

近日,有網(wǎng)友在社交平臺表示:React 新文檔寫的很棒,把使用 React 過程中的許多坑都列舉出來了,非常直觀。對此,Vue 作者尤雨溪也發(fā)表了自己的看法。

圖片圖片

Vue、Vite 的作者尤雨溪表示:

一個框架挖下許多艱深復(fù)雜的坑,然后不填這些坑,而是靠文檔去解釋如何繞開這些坑。用戶看了不但不質(zhì)疑為什么這些坑有存在的必要,反而擊節(jié)贊嘆文檔寫得太好了。雖然 Dan 的文檔寫得確實不錯… 但這心態(tài)真不是被框架 PUA 了嗎?

Vue 也難免有坑,但我如果看到用戶以知道怎么繞開 Vue 的坑而得意,我心里是很羞愧的,因為我覺得框架應(yīng)該努力去減少心智負(fù)擔(dān)而不是讓用戶去研究回字有幾種寫法。

往更高一點(diǎn)的層面說:當(dāng)然可以 argue 心智負(fù)擔(dān)存在于不同的抽象層次,內(nèi)在復(fù)雜度總量不變,React 的日常心智負(fù)擔(dān)是為了解決更高層面的問題,simple !== easy 等等… 但事實上絕大部分人相信這些的原因也無非是“既然 react 團(tuán)隊這么做了一定有他們的理由?!?/p>

這里就不得不說 React 最成功的地方在于塑造了一種幾近于 cult 的凝聚力,在長期 over-promise & under-deliver 的情況下依然能讓大量用戶相信它沒有在一個錯誤的方向越走越遠(yuǎn)。典型的例子在于當(dāng)其理念和宿主語言不合時,用戶會責(zé)怪語言不力而不是 react 在不合適的語言上霸王硬上弓。

需要強(qiáng)調(diào)的是我一點(diǎn)也不否認(rèn)早期的 react 帶來的開創(chuàng)性和其社區(qū)強(qiáng)大旺盛的創(chuàng)造力,正是這兩點(diǎn)讓 react 擁有了現(xiàn)在的一切。我只是覺得有些用戶們給予了今天的 react 過分的信任和寬容。

有人說:

我們每天用那么多 framework 和 library,這些都是認(rèn)知的負(fù)擔(dān)。當(dāng)某一個領(lǐng)域的心智負(fù)擔(dān)膨脹到如此之大,連官方文檔都需要把這些“技巧”作為框架知識體系一部分傳授給新人的時候,你不可能再靠這個框架對抗復(fù)雜性了。

要讓事物簡化,就必須有所取舍。這就意味著為了獲得更大的價值,你需要放棄一些本身也很有價值的東西。沒有犧牲,就無法應(yīng)對復(fù)雜性。這正是概念壓縮(conceptual compression)的核心所在。

說直接點(diǎn),多學(xué)習(xí)框架無關(guān)的知識,多嘗試一些新的范式,多接觸一些其他框架(比如 Vue),就不會被某個框架綁架。然后,通過消滅復(fù)雜性的方式,解決復(fù)雜性暴漲的問題。

我并不是說 React 不好,相反,我也是 React 用戶。

我嘗試了大部分流行框架,比如 svelte、vue、angular、emberjs、htmx 等。我感覺,對我來說,最順手的還是 React。因為我不太習(xí)慣在 html 里面寫那些 directive。使用 Js 生成 Html 最符合我的習(xí)慣。

我想表達(dá)的是:

  1. 在 web 開發(fā)中,不能被流行所綁架。當(dāng)我們了解一個事物的來源之后,就不會迷信。這就是為什么我在用 Rails+hotwire 做新項目,我想嘗試不使用 React 做出來同樣或者接近的效果。
  2. 框架開發(fā)者應(yīng)該致力于減輕使用者認(rèn)知負(fù)擔(dān)。所以我更推薦 remix 而不是 nextjs。

有人說:

有些時候,無法避免的問題其實是違反了設(shè)計的初衷。就像有些人喜歡把扳手當(dāng)錘子來使用,但我們不能因此就把扳手設(shè)計得更像一個錘子。像截圖中的問題并不需要在框架層面去解決,因為這樣的解決方案往往會增加不必要的復(fù)雜性,從而讓框架產(chǎn)生許多意料之外的行為

有人說:

有道理,以前vue2和react都用得比較多,感覺react比vue2更靈活一些,當(dāng)然心智負(fù)擔(dān)也會更重,現(xiàn)在在用vue3,感覺對于使用者來說,相比于react的靈活性,大幅降低的心智負(fù)擔(dān)比靈活性要更實用的多

總結(jié):

首先,對于框架的設(shè)計,其核心目標(biāo)應(yīng)該是提供一種簡單、直觀的方式來幫助開發(fā)者解決他們的問題,而不是給開發(fā)者制造更多的麻煩。正如尤雨溪所說,一個好的框架應(yīng)該努力減少用戶的心智負(fù)擔(dān),而不是讓他們?nèi)パ芯咳绾伪荛_框架自身的問題。

然而,框架的復(fù)雜性是一個無法避免的問題。在提供更多功能和靈活性的同時,框架必然會帶來更高的學(xué)習(xí)曲線和更多的心智負(fù)擔(dān)。因此,如何平衡簡單性和功能性,是每一個框架都需要面臨的挑戰(zhàn)。

對于用戶來說,他們需要的不僅僅是一個好用的工具,更需要的是一個能夠幫助他們解決問題的方案。因此,對于一些違反框架設(shè)計初衷的行為,有時候我們并不能簡單地指責(zé)用戶。相反,作為框架的開發(fā)者,我們應(yīng)該更多地思考如何通過改進(jìn)框架的設(shè)計,使得用戶能夠更自然、更直觀地使用我們的工具。

此外,對于一些無法避免的復(fù)雜性,我們可以通過提供更好的文檔和教程來幫助用戶理解和使用我們的工具。但是,這并不意味著我們可以把所有的問題都推給用戶自己去解決。作為開發(fā)者,我們有責(zé)任為用戶提供一個簡單、有效的解決方案,而不是讓他們自己去探索如何避開框架的問題。

總之,一個好的框架應(yīng)該盡可能地減少用戶的心智負(fù)擔(dān),提供簡單、直觀的解決方案,同時也要允許用戶有一定的定制化和擴(kuò)展性。作為開發(fā)者,需要不斷地反思和改進(jìn)工具,以便更好地滿足用戶的需求。

責(zé)任編輯:武曉燕 來源: 前端充電寶
相關(guān)推薦

2009-08-07 13:49:37

服務(wù)器托管

2018-03-06 09:49:27

區(qū)塊鏈

2018-11-22 21:45:59

物聯(lián)網(wǎng)卡運(yùn)營商流量卡

2021-12-05 21:05:49

前端JSON API

2010-07-27 16:15:39

計算機(jī)技術(shù)

2019-09-10 10:14:15

2023-12-12 13:15:00

模型訓(xùn)練

2016-10-23 23:00:51

2021-02-03 13:20:26

人工智能機(jī)器人科學(xué)

2015-06-09 11:00:21

華三/路由器

2023-12-25 09:03:33

MySQL索引數(shù)據(jù)庫

2017-07-10 10:12:53

主機(jī)性能CPU

2022-07-29 14:31:18

隱私計算

2022-09-27 08:19:20

前端React

2020-02-14 13:36:12

支付寶人臉識別人工智能

2014-10-27 10:10:53

創(chuàng)業(yè)

2018-06-27 13:10:22

程序員面試易犯錯誤

2018-10-10 16:06:27

天線路由器設(shè)備

2022-06-09 10:27:40

前端框架開源

2013-10-24 10:40:23

前端框架
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號