成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

11歲的React正迎來自己口碑的拐點

開發 前端
作為一款11歲高齡的前端框架,React正迎來自己口碑的拐點。近期,有多名包括知名庫作者、React18工作組成員在內的社區核心用戶公開表達了對React的批評。

凌晨2點,Dan仍坐在電腦桌前,表情嚴肅。

作為React社區最知名的布道者,此時正遭遇一場不小的變故 —— 他擁有38w粉絲的推特賬號被影子封禁了。

所謂影子封禁,是指粉絲無法在流中刷到被封禁者的任何推文,只能點進被封禁者的賬號才能看到新推文。

在RSC(React Server Component)特性發布后,Dan經常用這個賬號科普各種RSC知識。這次封禁,顯然對他的布道事業造成不小打擊,不得已只能啟用新賬號。

雖然新賬號粉絲不多,但值得寬慰的是 —— 這篇題為The Two Reacts[1]的RSC布道文數據還不錯。

這篇文章通過解釋世界上存在2個React:

  • 在客戶端運行的React,遵循UI = f(state),其中state是狀態,是可變的。
  • 在服務端運行的React,遵循UI = f(data),其中data是數據源,是不變的。

來論證RSC的必要性(他為服務端運行的React提供了底層技術支持)。

安靜的夜總是讓人思緒良多,Dan合上MacBook Pro,回想起當年參加行業會議,在會議開始前一周才實現演講所需的Demo(也就是Redux的雛形)。也正是以這次參會為契機,他才得以加入Meta倫敦,進入React核心團隊。

隨后,Dan又回想起在React Conf 2018介紹Hook特性時,臺下觀眾驚喜的歡呼。

想到這里,不禁又感嘆 —— 曾經并肩戰斗的戰友們都已各奔東西。

Redux的聯合作者Andrew Clark離開了(入職Vercel),Hook的作者sebastian markb?ge也離開了(入職Vercel),連自己最終也離開了(入職bluesky)。

雖然React仍是前端領域最熱門的框架,但一些微妙的東西似乎在慢慢變化,是什么變了呢?

React正迎來自己口碑的拐點

作為一款11歲高齡的前端框架,React正迎來自己口碑的拐點。

近期,有多名包括知名庫作者、React18工作組成員在內的社區核心用戶公開表達了對React的批評,比如:

  • Increasingly miffed about the state of React[2]
  • Kind of annoyed at React[3]
  • React, where are you going?[4]
  • The decline of React[5]
  • Concatenating text[6]

有人會說,React從誕生伊始至今從不乏批評的聲音,有什么大驚小怪的?

這其中的區別其實非常大。從React誕生伊始至今,批評通常是開發者與React核心團隊的理念之爭,比如:

  • JSX到底好不好用?這是理念之爭
  • 用Class Component還是Function Component?這是理念之爭
  • 要不要使用Signal技術?這還是理念之爭

雖然開源項目都很重視開發者的反饋,但React已經不能算是普通開源項目,而是一個龐大的技術生態。

在這個生態中,開發者的不滿實際上并不會動搖React的基本盤。因為決定「開發者是否在項目中使用React」的,并不是開發者自身好惡,而是公司考量技術生態后作出的自上而下的選擇。

所以,React的基本盤是技術生態(而非開發者)。而構成技術生態的,則是生態中大大小小的開源作者/開源團隊。

這一輪對React的批評,多是核心技術生態的參與者發出的,他們才是支撐React大廈的一根根柱子。

批評的主要原因是 —— React團隊將React的發展與一家商業公司(Vercel)牢牢綁定。

這對于React核心團隊成員來說,是「從大廠到獨角獸」的個人職場躍遷。但對廣大React技術生態的開源作者/開源團隊來說,則是被動與一家商業公司(Vercel)綁定。

舉個例子,RSC中有個叫Server Actions的特性,用于簡化「在服務端處理前端交互」的流程。Vercel是一家云服務公司,旗下的Next.js支持Server Actions可以完美契合自家Serverless服務的場景。

但其他開源項目可能并不會從這個特性中受益。

再比如,React Bricks的作者曾抱怨 —— 雖然表面上看,React可以與Vite結合,可以與React Router結合(也就是Remix的前身),一切都是自由的選擇。但上層的服務商表示:如果React Bricks不能支持Next.js,就不會再使用他。

換句話說,React在逐漸將自己的技術生態遷移到Next.js,而技術生態是公司技術選型的首要考慮因素。如果開源庫不主動融入Next生態,公司在做技術選型時可能就不會考慮這個庫。

迫于市場的考量,會有很多原React生態下的庫遷移到Next生態,即使這么做并非庫作者意愿(畢竟Next.js的背后是一家商業公司)。

框架作者的反抗

如果說一般的開源庫只能被動選擇是否追隨Next生態,那還有一類開源庫選擇與Next.js正面對抗,這就是Meta Framework(元框架)。

所謂元框架,是指基于前端框架封裝的「功能更全的上層框架」,比如:

  • 框架Vue,元框架Nuxt.js
  • 框架React,元框架Remix、Next.js
  • 框架Solid.js,元框架SolidStart
  • 框架Svelte,元框架SvelteKit

還有些框架本身就是元框架,比如Angular、Astro。

從NPM年下載量看,Next.js對這些競品基本呈碾壓之勢(下表綠色是Next):

造成當前局面有多少是因為「Next.js相比其他元框架表現更出色」我們不得而知,但有一點可以肯定 —— React生態向Next生態的遷徙對形成當前局面一定貢獻了不少。

參考下圖,黃色(React年下載量)對綠色(Next年下載量)的提攜:

圖片圖片

元框架的競爭已經逐漸白熱化,現在甚至出現了「生成元框架的框架」 —— vinxi[7]。

你可以選擇框架(React、Vue、Solid...),再選擇應用場景(客戶端、SSR、SSG...)以及一些個性化配置,vinxi會為你生成一個獨屬于你的元框架。

順便一提,SolidStart就是基于vinxi構建的。

后記

對「React將技術生態向Next遷移」的不滿在社區已經醞釀已久,并在近期迎來了爆發。長久來看,這種不滿必將影響React的根基 —— 技術生態。

但從上帝視角來看,沒有人是真正在意React的:

  • 開發者只在意是否能穩定、高效完成工作。
  • 開源作者只在意技術生態市場是否夠大(不能被少數公司壟斷)。
  • React核心團隊成員在意的是自己的職業前景。
  • 元框架作者在意的是從Next無法顧及的細分場景切一塊蛋糕。

React就像一個被開采了11年的金礦,開采的各方都有所抱怨,同時又不停下手中揮舞的鐵鎬。

當React將技術生態逐漸遷移到Next生態后,React的身影將只存在于一些細節中,比如:

  • Hook的執行順序不能變。
  • 嚴格模式下組件會render兩次。
  • 相比其他框架更低的性能。

作為一家商業公司,未來Vercel會不會為了市場考量逐漸優化這些特性(比如引入Signal)?

如果說React未來一定會消失,那他的死必不會像煙花那樣猝不及防而又燦爛(就像谷歌宣布研發Angular2后,Angular1在關注度最高時迎來了他的死亡)。

更可能的情況是像忒修斯之船一樣,在航行的過程中不斷更換老舊的木條,最終在悄無聲息中逐漸消失......

參考資料

[1]The Two Reacts:https://overreacted.io/the-two-reacts/。

[2]Increasingly miffed about the state of React:https://macwright.com/2024/01/03/miffed-about-react。

[3]Kind of annoyed at React:https://blog.cassidoo.co/post/annoyed-at-react/。

[4]React, where are you going?:https://dev.to/matfrana/react-where-are-you-going-5284。

[5]The decline of React:https://gomakethings.com/the-decline-of-react/。

[6]Concatenating text:https://johan.hal.se/wrote/2024/01/24/concatenating-text/。

[7]vinxi:https://www.brenelz.com/posts/building-a-react-metaframework-with-vinxi/。

責任編輯:姜華 來源: 魔術師卡頌
相關推薦

2014-08-05 09:53:01

PHPPHP規范

2021-04-27 10:36:44

數字經濟

2020-11-25 17:48:19

邊緣計算云計算5G

2021-10-25 23:07:26

Windows 功能系統

2022-03-21 20:12:44

Windows 11太陽谷2微軟

2011-08-18 09:26:45

IE

2019-11-13 10:35:27

React Conf前端總結

2015-10-10 16:02:36

React NativAndroid

2014-08-11 14:21:43

IT技術周刊

2023-09-11 15:33:25

2017-04-26 14:53:31

SDS傳統存儲

2015-08-26 10:30:04

Linux開源系統

2009-09-24 17:38:51

2018-12-16 16:03:56

能源物聯網區塊鏈

2010-02-26 09:48:11

喬布斯生日

2024-06-21 09:04:47

2017-12-11 08:37:57

服務器市場數據

2011-07-27 10:12:02

HTC諾基亞蘋果

2010-06-01 09:44:23

云計算云管理CSA

2020-12-08 11:01:42

JavaScript編程語言開發
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 成人1区2区 | 欧美精三区欧美精三区 | 国产真实乱对白精彩久久小说 | www.久 | 亚洲电影一级片 | 97超碰站| 午夜三区 | 亚洲精品日韩一区二区电影 | 精品久久一区 | 7777在线| 亚洲成人一区二区 | 亚洲国产黄色av | 自拍偷拍第一页 | 日韩视频精品在线 | 作爱视频免费观看 | 国产91网站在线观看 | 久久99精品久久久久久国产越南 | 三级视频国产 | 每日更新av | 99久热| 久久久久9999 | 亚洲 欧美 日韩 在线 | 欧美日韩亚洲在线 | 久久久精品一区 | 欧美一区二区三区电影 | 久久国产精品久久 | 亚洲天堂影院 | 日本激情视频在线播放 | 欧美国产日韩一区二区三区 | 欧美激情精品久久久久久免费 | 精品久| 亚洲91 | 夜夜久久| 一级中国毛片 | 在线观看h视频 | 99免费在线| 欧美精品一区二区三区在线 | 精品九九九 | 日韩欧美一区二区三区四区 | 日本精品久久久久久久 | 色片在线观看 |