Vue 的完美風(fēng)暴正在逼近,大多數(shù)開發(fā)者還沒意識到
每一次搭建新的 Vue 項(xiàng)目時(shí),那種“哪里不對勁”的感覺正在變得愈發(fā)明顯。項(xiàng)目啟動、依賴安裝、配置文件的堆疊……一切都顯得沉重、冗雜,與最初接觸 Vue 時(shí)的那種優(yōu)雅、輕盈,形成了鮮明對比。
那種令人疲憊的開發(fā)體驗(yàn),已經(jīng)不是個(gè)例。
框架倦怠,正在悄然擴(kuò)散
如今的 Vue 項(xiàng)目,不再是“安裝 Vue 就能開始”的簡單游戲。反而成了配置地獄的代名詞:
npm install vue vue-router pinia vite tailwind autoprefixer sass typescript vitest eslint prettier ...
明明只是做一個(gè)頁面級的計(jì)數(shù)器,卻要引入十幾個(gè)依賴;一個(gè)表單校驗(yàn),也動不動就要封裝成組件、調(diào)狀態(tài)管理、掛監(jiān)聽。
Vue 本身并沒有錯(cuò),它仍是構(gòu)建復(fù)雜前端應(yīng)用的優(yōu)秀框架。但問題出在「條件反射」式地依賴框架思維。
框架反射弧:一切都要組件化,一切都得響應(yīng)式?
- 想加個(gè) Tab 交互?——引入 Vue。
- 想綁定個(gè)下拉菜單?——還是 Vue。
- 想實(shí)現(xiàn)個(gè)滾動監(jiān)聽?——Vue+第三方指令。
這種開發(fā)習(xí)慣并非出自技術(shù)需求,而是來源于“工具熟練度帶來的慣性”。
Web 開發(fā)原本存在一條完整的光譜,從純靜態(tài) HTML 到復(fù)雜 SPA 框架應(yīng)有盡有。但如今,大多數(shù)開發(fā)者忽視了中間地帶,直接將 Vue 作為唯一選項(xiàng)。
Vue 帶來了什么,又丟失了什么?
收獲巨大:
響應(yīng)式系統(tǒng)消滅了手動 DOM 更新 , 組件化讓模塊復(fù)用成為可能,豐富生態(tài)解決了 80% 場景下的需求 , Composition API 優(yōu)化了邏輯組織方式,Vue 3 的性能提升非常可觀。
但也失去不少:
演進(jìn)式增強(qiáng)思維逐漸淡出主流 ,對原生 JavaScript 的信心日漸消退 , HTML/CSS 的直接能力退化 , 對簡潔優(yōu)雅方案的判斷力降低
Vue 并沒有主動剝奪這些東西,是整個(gè)前端圈子自發(fā)地把所有問題都“框架化”了。
開發(fā)者正在逃離復(fù)雜化
值得注意的現(xiàn)象正在浮現(xiàn):
- HTMX 與 Alpine.js 在 GitHub 上快速崛起,因其“無需構(gòu)建”、“輕量增強(qiáng)”的理念吸引大量關(guān)注。
- “Islands Architecture” 正被更多服務(wù)端框架采納,以應(yīng)對 SPA 帶來的性能壓力。
- Web Components 的復(fù)興也側(cè)面說明:開發(fā)者開始反思當(dāng)前的前端堆棧是否過于臃腫。
換句話說:不是 Vue 不好,而是開發(fā)者對“一刀切框架優(yōu)先”產(chǎn)生了反思。
不容忽視的三個(gè)趨勢
1. 框架-問題錯(cuò)配
Vue 是為復(fù)雜應(yīng)用而生,卻頻繁被用于簡單的頁面腳本增強(qiáng),這種錯(cuò)配不僅浪費(fèi)資源,還降低開發(fā)效率。
2. Web 平臺本身變強(qiáng)了
瀏覽器原生模塊、ES 模塊支持、CSS 變量、IntersectionObserver、View Transitions API 等新能力足以應(yīng)對很多交互需求,沒必要一開始就把框架引入。
3. 工具選擇的覺醒
開發(fā)者逐漸開始按需選擇技術(shù)棧,而非“拿手就用”。正如 Svelte、Qwik 等新框架的崛起,其核心價(jià)值并非打敗 Vue,而是重新定義“適度”。
什么才是“對的問題 + 對的工具”?
- 大型后臺系統(tǒng):Vue 是利器,組合 API 和狀態(tài)管理器能很好地組織復(fù)雜邏輯。
- 數(shù)據(jù)密集交互界面:響應(yīng)式系統(tǒng)帶來的 UI 自動更新是剛需。
- 簡單頁面交互、內(nèi)容展示頁:原生 JavaScript、HTMX 或 Web Component 更高效、輕量。
- 臨時(shí)業(yè)務(wù)頁、內(nèi)容頁增強(qiáng):用框架是殺雞用牛刀。
開發(fā)的喜悅,不應(yīng)被構(gòu)建流程和插件地獄掩蓋
重新體驗(yàn)非框架式開發(fā)方式后,不少開發(fā)者發(fā)現(xiàn):
沒有構(gòu)建等待,精準(zhǔn)控制每一個(gè)功能點(diǎn),思維清晰,專注功能本身,編程的“快樂感”又回來了
這不是“反框架運(yùn)動”,而是一次“回歸多元、選擇合適”的思考過程。
總結(jié):不是 Vue 失寵,而是前端思維該進(jìn)化了
“用 Vue 做復(fù)雜系統(tǒng)”從來不是問題。
“所有東西都用 Vue 來做”,才是即將失控的根源。
下一個(gè)項(xiàng)目,不妨換個(gè)姿勢開始。
- 先想清楚:這個(gè)功能真的需要框架嗎?
- 如果只是交互增強(qiáng),不如試試無構(gòu)建工具方案。
- 從 HTML 開始,逐步增強(qiáng),而不是一上來就全家桶伺候。
這一場“完美風(fēng)暴”,不是 Vue 的錯(cuò),而是整個(gè)開發(fā)圈正在對復(fù)雜化傾向的反思。
工具是為人服務(wù)的,不是讓人被服務(wù)。