作者Kashionz (空阿哭啊Peko)
看板Soft_Job
標題[請益] 想請教為什麼都說React是框架?
時間Tue Mar 18 11:57:50 2025
初次在板上發文,如果有哪裡沒注意到還請多多包涵QQ
小弟我最近在學Web,前端的部分是使用React做開發
因為從以前就很常聽到三大框架
Angular, Vue, React
所以一直以為React也是一種框架
但今天因為要跟人解釋我網頁使用的技術,所以就稍微用Copilot幫我列出了一些介紹
結果沒想到原來React只是一個Library?
本來還以為是AI搞錯,所以就去React官網看了一下
沒想到官網就寫出來了
The library for web and native user interfaces.
通常是搭配Redux、React Router才會更接近框架的體驗
所以我忽然很疑問為什麼大家都要說React是框架?
是因為React本身用起來就像框架的一種嗎?
想知道我有什麼細節漏掉了QQ
再麻煩各位大神解答
謝謝Soft_Job板
--
Sent from my iPhone 15 Pro
○ PiTT
// PHJCI
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 42.79.69.106 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Soft_Job/M.1742270272.A.4F9.html
1F:噓 B0988698088: 這裡不是web學習板03/18 12:08
2F:推 zyxx: 定義問題 大家怎麼叫就是什麼03/18 12:11
所以就只是看大家習慣而已就對了
但這樣會不會有面試被問到前端框架回答React被洗臉說他根本不是框架,還是一般都不太
會在意這種小細節?
3F:噓 wulouise: framework也可以是library, lib包山包海03/18 12:13
如果Library夠強大也能稱呼他為Framework就是了?
4F:推 NDark: 定義問題都看社群怎麼定義03/18 12:16
所以就只是看大家怎麼講比較順而已就對了
5F:噓 qwer338859: ?03/18 12:25
6F:→ hobnob: 各自表述 03/18 12:27
7F:噓 Woqeker: 錯版03/18 12:36
我看板規應該也沒違反 之前也有人在這發問所以才來這裡問 如果不行的話我再刪除一下
※ 編輯: Kashionz (42.79.69.106 臺灣), 03/18/2025 12:49:30
8F:推 chopinmozart: Next 算framework. React 不算 03/18 13:29
9F:推 keel90135: 算本版吧 好像還有web版? 幾百年沒看了 ptt沒啥人沒差 03/18 13:30
10F:推 soccer103: 別理噓文老人 03/18 13:31
11F:→ soccer103: 既然這裡可以發 Rust 2024更新最新版、 03/18 13:31
12F:→ soccer103: 從開機自動轉檔、 03/18 13:31
13F:→ soccer103: 用什麼 IDE、 03/18 13:31
14F:→ soccer103: 用 AI 寫註解、 03/18 13:31
15F:→ soccer103: 寫一個 ssh client 連到 ptt..等等 03/18 13:31
16F:→ soccer103: 然後新手問個 React 就洗錯版? 03/18 13:31
17F:→ soccer103: 既然前面我舉的例子板上沒被刪文 03/18 13:31
18F:→ soccer103: 那原 PO 這個就要可以問 03/18 13:31
19F:推 SkyPlus: 如果說他是(或不是)框架就洗你臉,那你也不會想在這種人 03/18 13:34
20F:→ SkyPlus: 底下工作吧 03/18 13:34
21F:→ SkyPlus: 用這種問題測試主考官肚量也不錯 03/18 13:34
22F:推 gino0717: 只要不是要你從頭造輪子 都可以叫 框架 調理包也是框架 03/18 13:38
23F:推 stepnight: React本身就是個lib,但生態資源多 03/18 13:47
24F:→ stepnight: 一起用就很容易成為框架的樣子 03/18 13:47
25F:→ stepnight: Angular,Vue自己就是個完整框架 03/18 13:47
26F:→ stepnight: 大概差在這吧 03/18 13:47
27F:推 stepnight: 不過這也沒啥好爭的,就看各自怎麼定義理解而已 03/18 13:51
28F:→ stepnight: 面試如果遇到這樣就洗臉不去也罷 03/18 13:51
29F:推 internetms52: 他跟別人也不太好搭,生命週期會怪怪,說他是框架 03/18 14:06
30F:→ internetms52: 就是只能用他生態系的東西吧,但我個人覺得這不是 03/18 14:06
31F:→ internetms52: 很重要 03/18 14:06
32F:推 qwe70302: 因為硬要說三大框架 03/18 15:08
34F:→ CoNsTaR: 有 inversion control 才能叫框架,framework 是 library 03/18 15:13
35F:→ CoNsTaR: 但 library 不一定是 framework 03/18 15:13
36F:推 gary861226: 面試因為這樣反駁洗臉的話那也不用去了 03/18 15:23
37F:推 nashpan7: 通常稱三大框架,嚴格來說只是JS函式庫 03/18 15:30
38F:→ nashpan7: 面試就說使用react技術如何搭配路由 狀態 等等做什麼應 03/18 15:32
39F:→ nashpan7: 用就夠了 03/18 15:32
40F:→ ssccg: React單獨可能不是一個完整的web app framework,但絕對是 03/18 17:18
41F:→ ssccg: 一個view component framework,它自稱不是只是要假裝比 03/18 17:18
42F:→ ssccg: Angular單純而已 03/18 17:19
43F:推 cokellen: 幫推 03/18 17:38
44F:推 f26724309: 推用這問題測主管肚量,前幾年去面板橋某財經M 03/18 17:42
45F:→ f26724309: 用人主管還跟我戰MVVM的實作細節 現在想起來還好沒去 03/18 17:42
46F:推 v7q4: JS才是語言 03/18 17:53
47F:推 abc7360393: Library 是你要用到的時候呼叫它 Framework 則是你的 03/18 17:58
48F:→ abc7360393: 程式碼作為擴充的性質被框架呼叫 概念好像叫IoC吧 03/18 17:58
49F:→ abc7360393: 但廣義來說框架也是一種 Library 所以說會跟你槓這種 03/18 17:59
50F:→ abc7360393: 定義的人八成很難相處... 03/18 17:59
51F:推 abccbaandy: 面試考這種定義題也太無聊...台商? 03/18 18:04
52F:噓 kkes0001: 吵定義真的無聊 03/18 18:14
53F:噓 WTS2accuracy: 都知道問AI了 你的疑問問AI就有答案了 03/18 18:35
54F:→ DrTech: 開發框架framework,寫成library 封裝給別人用不行喔? 03/18 19:38
55F:推 w28103566: react 自由度高,限制寫法才是框架 03/18 19:48
56F:推 CAVLBJ: 幫推 03/18 20:31
57F:推 zyxx: 推上面的連結 解釋的很清楚 03/18 21:48
58F:推 ILoveAMD: 官網就寫只是 library 了啊 03/18 22:30
59F:推 lchcoding: 推CoNsTaR大連結的文 03/18 22:50
60F:→ lchcoding: 要理解到那麽精細..我有困難 03/18 22:50
61F:→ lchcoding: 我只求我的code 03/18 22:50
62F:→ lchcoding: 不要回來打我的臉 03/18 22:50
63F:→ lchcoding: 至於它是男的還女的 03/18 22:50
64F:→ lchcoding: 我並不是很介意 03/18 22:50
65F:推 luke72: 是「宗教」,也就是別人說是什麼就是什麼,質疑會出事 03/18 23:56
66F:噓 DarkIllusion: 給一樓 使用者造就看板生態 因此這裡就是web學習板 03/19 01:04
67F:推 jobintan: 能getting jobs done就好便沒必要糾結是啥了……… 03/19 07:01
68F:推 Lhmstu: lib是工具箱 03/19 09:37
69F:→ haru97724: 沒差吧…反正還不都是js… 03/19 09:55
70F:推 atowng: 官方寫library,但用起來就是框架,何必糾結 03/19 10:00
71F:推 dongdong0405: 軟體鄙視鏈可以收收味了 03/19 10:14
72F:→ acgotaku: 框架也好 lib 也好 api 也罷 都文字遊戲 哪有什麼差別 03/19 11:24
73F:→ acgotaku: 你只要記得 這些都是別人勞動成果 你是使用者 03/19 11:25
74F:推 CRPKT: CoNsTaR 講的是原始的主流理解,看有沒有 IoC 03/19 11:31
75F:→ CRPKT: 但重點其實是我們沒有必要糾結這兩個名詞 03/19 11:31
76F:推 happy8649: 寫web不也是software job嗎==? 03/19 11:34
77F:推 lturtsamuel: react是創造元件的函式庫沒錯 但大部分的用法都是在 03/19 12:47
78F:→ lturtsamuel: 專案開頭造一個 react 元件然後所有新東西都往裡面塞 03/19 12:47
79F:→ lturtsamuel: 這樣你的所有程式碼不還是被 react 控制?我不覺得 03/19 12:47
80F:→ lturtsamuel: 這樣和框架有什麼不同了 03/19 12:47
81F:推 ohmylove347: 其實吵定義蠻好玩的,定義代表的是思考方式,不同的 03/19 14:49
82F:→ ohmylove347: 思考會造就不同的設計,設計則會決定最終的高度,沒 03/19 14:49
83F:→ ohmylove347: 怎麼參與架構設計的確會覺得無聊 03/19 14:49
84F:→ angusyu: 我下載了這個檔案然後我呼叫了它的函式。請繼續吵 03/19 16:08
85F:推 ohmylove347: 對啊,單純用用API本來就不必思考這些,開源的目的就 03/19 16:46
86F:→ ohmylove347: 是為了避免重複造輪子專注在業務需求,把思考留給上 03/19 16:46
87F:→ ohmylove347: 把那些煩人的需求就夠了,剩下的是開源庫作者的工作 03/19 16:46
88F:→ viper9709: 原來是這樣 03/20 00:55
89F:推 leftless: 會用這問題洗人臉的職位我是不信有什麼誘人之處啦 03/20 03:46
90F:→ leftless: 通常答錯會問你為啥這麼想 能講出一套想法可能還加分 03/20 03:49
91F:→ yunf: 造輪子理論有一天可能會被改寫 03/20 05:09
92F:→ yunf: 我發現他們常會用釜底抽薪的方法讓我們血本無歸 03/20 05:10
93F:→ yunf: 你看ezsoft裡面那麼多好用的小程式但在幾次系統改版後通常都 03/20 05:14
94F:→ yunf: 無法有效運作了 反而被大軟體吸收了功能的精神 03/20 05:14
95F:→ yunf: 你看看你以前寫過的小程式 是不是很多都不能運作了?不知道 03/20 05:15
96F:→ yunf: 有沒有有人有同感? 03/20 05:15
97F:→ Kashionz: 感謝各位解答!我沒有面試被洗臉XD 只是想到有沒有可能 03/20 11:22
98F:→ Kashionz: 因為這問題被洗臉,我只是在查資料的時候看到React是Li 03/20 11:22
99F:→ Kashionz: brary所以有點納悶,因為平常大家都是稱它為框架 03/20 11:22
100F:→ Kashionz: 我問問題的當下其實就有請AI給我答案了,但之前有被AI 03/20 11:22
101F:→ Kashionz: 雷到過的經驗讓我知道AI不是百分百準確,怕有誤所以還 03/20 11:22
102F:→ Kashionz: 是想上來請教一下各位多數有經驗的人怎麼討論這個定義 03/20 11:22
103F:→ Kashionz: ,現在有理解為什麼React會被叫作框架的原因了,再次感 03/20 11:22
104F:→ Kashionz: 謝各位! 03/20 11:22
105F:推 menShow: 把技術內化後,你會發現這些都只是名詞定義,為了高大尚~ 03/20 11:31
106F:→ LipaCat5566: 因為他自稱是lib 03/20 13:51
107F:→ superpandal: Frameworks are evil. 過於複雜化並扼殺個人創造力 03/20 21:27
108F:→ superpandal: 讓人失去寫程式樂趣的東西 03/20 21:28
109F:→ superpandal: 至於小程式 有很多小程式活的好好的 可以說是歷久彌 03/20 21:34
110F:→ superpandal: 新 至少類unix系統世界是這樣 03/20 21:35
111F:推 aria0520: 以後都是vibe coding了 03/20 23:10
112F:→ ssccg: 框架就不是要做個人創意小工具,是要大量快速生產類似但老 03/21 01:14
113F:→ ssccg: 闆不願意買最新雲端解決方案而要找便宜碼工刻一套的東西 03/21 01:15
114F:→ superpandal: 要更快刻完公司需求用lib就可以了 框架很多暗坑和小 03/21 09:51
115F:→ superpandal: 細節 這種東西很容易讓人頭疼的 也不好做些超出框架 03/21 09:53
116F:→ superpandal: 外的需求 就是靈活性被限制 03/21 09:54
117F:→ superpandal: 你用lib是你在用工具 框架是反過來在玩你 lib玩你就 03/21 10:00
118F:→ superpandal: 換一個就好 除非你非常了解該框架 花很多時間在研究 03/21 10:03
119F:→ superpandal: 否則lib這種只要概念有拿來串就串起來的更好做需求 03/21 10:04