

如果你從事 Web 開發超過五個月,你就會知道該怎麼做了。現在每隔幾個月就會出現一個新的 JavaScript 框架,並承諾修復上一代框架的所有缺陷。
一開始,這很令人興奮。語法更簡潔,效能更好,麻煩更少!但經過多年從 React 到 Vue 再到 Svelte 再到 Solid(然後又回來)的跳轉,我意識到不斷追逐最新的 JavaScript 框架是在浪費時間。
別誤會我的意思——創新技術當然很棒。但到了某個時候,你必須問問自己,我是否真的在創造事物,還是我只是在不斷地重新學習如何以略有不同的方式創造同樣的東西?
JavaScript 炒作週期永不停歇
說實話,JavaScript 開發人員似乎痴迷於新奇事物。
每年都會有新的框架、新的打包器、新的元框架、新的狀態管理方式。週期大致如下:
-
有人宣佈了一個“改變遊戲規則”的框架。它比之前的所有框架都更小、更快、更好。
-
開發人員蜂擁而至。部落格、教程、會議演講 — 每個人都在大肆宣傳它。
-
公司猶豫不決。採用速度緩慢,因為他們有實際需要執行的生產應用程式。
-
最初的興奮逐漸消退。框架逐漸成熟,變得更加複雜,並開始變得像它最初試圖取代的東西。
-
用下一個熱框架沖洗並重復此操作。
還記得 Vue 曾被指要取代 React 嗎?Svelte 曾指望它們兩個都死掉嗎?現在我們以同樣的方式談論 Solid 和 Qwik。與此同時,React 和 Angular 仍然存在,jQuery(是的,就是jQuery)仍然為大量網站提供支援。
在某個時候,我不得不問自己<<每年更換框架實際上能給我帶來什麼好處? >>
重寫所有內容毫無成效
我喜歡嘗試新技術。我對效能提升、更好的 DX 和更清晰的語法感到興奮。
但切換框架是有代價的,它會讓你的開發速度變慢。
每次我使用一個新框架時,我必須:
-
學習新的元件語法。
-
(再次)弄清楚狀態管理。
-
閱讀新文件並修復奇怪的邊緣情況。
-
讓我的團隊(或我自己)相信這確實是值得的。
那是為了什麼呢?為了構建相同的 UI 元件、處理相同的 API 呼叫並管理與以前相同的狀態?
在某個時候,我意識到我花在學習框架上的時間比實際構建東西上的時間還多。
“最佳框架”只是一個神話
開發人員喜歡爭論哪個框架最好。但事實是,沒有最好的框架——只有權衡。
-
React為您提供了龐大的生態系統,但迫使您處理複雜的渲染模式。
-
Vue很直觀,但 Vuex、Pinia 及其構建工具卻有自己的看法。
-
Svelte消除了樣板,但將你鎖定在基於編譯器的方法中。
-
Solid為您提供類似 React 的人體工程學和更好的效能,但缺乏生態系統成熟度。
-
Angular功能非常強大,但學習難度較高。
每個框架都有優點和缺點。當你切換時,你只是將一組問題換成了另一組問題而已。
就業市場仍然由 React 和 Angular 主導
現實情況是,公司並不關心最新的 JS 框架。
如果你正在找工作,React 和 Angular 仍然是主導力量。Vue 也佔有相當大的份額。其餘的呢?小眾市場。
初創公司可能會嘗試使用 Svelte 或 Solid,但大多數生產應用程式不會僅僅因為 Twitter 上出現了新的趨勢就切換技術棧。
歸根結底,公司需要穩定、可維護的程式碼庫。他們不會僅僅因為聽起來很酷就重建 Qwik 中的所有內容。
框架不會讓你成為更好的開發人員
有一次,我說服自己,掌握每一個新的 JS 框架會讓我成為更好的開發人員。但事實是,在框架之間切換除了語法差異之外,幾乎沒有什麼可以教給你。
什麼實際上能讓你成為更好的開發人員?
-
深入瞭解核心 JavaScript(非同步、閉包、事件迴圈、原型)。
-
學習系統設計(如何構建可擴充套件的應用程式)。
-
編寫可維護的程式碼(清晰的架構、測試、文件)。
-
超越前端的思考(API、資料庫、雲部署)。
優秀的開發人員並不是能夠用 10 個框架重寫待辦事項應用程式的人。優秀的開發人員知道如何設計可行、可擴充套件且易於維護的軟體 — — 無論使用什麼框架。
我的做法
我並不是說再也不會嘗試新的框架。但我改變了我的方法:
✅堅持使用廣泛採用的框架(React、Vue、Angular)。✅
只有在有真正原因的情況下才進行切換
✅專注於核心程式設計技能,而不僅僅是語法差異。✅多構建,少追逐。
下次有新的 JS 框架出現時,我不會急著重寫專案。相反,我會專注於釋出產品、編寫可靠的程式碼以及提高我解決問題的能力。
最後的想法
框架來來又去去。而真正重要的技能——解決問題、架構和乾淨的程式碼——將伴隨你一生。
如果你總是從一個 JS 框架跳轉到另一個,問問自己<<你真的進步了嗎,還是隻是在原地打轉? >>
讓我們一塊聊聊——你還在追逐框架嗎,還是已經不那麼狂熱了?在下面留言吧!
作者:聆聽世界的羊
相關閱讀: