每個人都喜歡宣稱 jQuery 已死。
然而──2025年了。它依然存在。既沒有出現在任何會議演講中,也沒有登上npm排行榜榜首…
但在排名前 100 萬的網站中約有 78% (W3Techs)以及總共數億個網站上默默執行。
所以,真正的問題或許不是“為什麼 jQuery 仍然活著?”
而是:
為什麼我們期望舊程式碼會因為我們找到了更酷炫的新程式碼編寫方式而消失呢?
時隔五年,我重返會議講台。 11月19日,我將在JS Poland大會上發表關於將傳統前端系統遷移到現代架構的實用策略的演講。
為了配合這次演講,我將發布一系列關於遺留程式碼、重構和增量遷移的短文——這是系列的第一篇。
如果你會到場,歡迎打個招呼——我總是很樂意聽聽關於遺留程式碼的精彩故事🛠️。
jQuery 在前端開發領域並沒有領先。
它幾年前就已經完成並投入生產,現在處於長期維護模式…
與金融體系中的COBOL完全一樣。
沒有人願意重寫舊的 COBOL 銀行後端程序——但他們也不能直接刪除它。
jQuery 也是一樣,只是它是為 Web 設計的。
是的——瀏覽器終於跟上了。
// jQuery
$('#btn').on('click', () => $('#box').addClass('active'));
// Modern JS
document.querySelector('#btn').addEventListener('click', () => {
document.querySelector('#box').classList.add('active');
});
原生 DOM API 最終幾乎可以解決所有先前需要 jQuery 來解決的問題。
✅ 查詢選擇器
✅ 類別操作
✅ 事件綁定
✅ AJAX → fetch()
✅ 動畫 → CSS + Web 動畫 API
那麼,為什麼 jQuery 仍然無所不在呢?
因為彌補過去的損失遠比建設未來的成本高很多。
大多數 jQuery 程式碼都不算「糟糕」。
它老舊、混亂、DOM優先,不可能一次性安全地替換。
真正的阻礙因素:
| 問題 | 為什麼 jQuery 需要保留 |
| ------------------------------ | ----------------------------------- |
| 🧩 業務邏輯與 DOM 緊密綁定 | 無法進行清晰的分離以進行遷移 |
| 🔌 第三方外掛程式 | 暫無 React/Vue/Svelte 版本 |
| 💸 重寫沒有投資報酬率 | 「現在能用,別動它」 |
| 🛒 WordPress、Shopify、Drupal | 基於 jQuery 建構的生態系統 |
| 🧨 遷移風險 | 結帳流程出錯 → 你會損失金錢 |
從商業角度來看,這其實很簡單:
“重寫 jQuery 能帶來新的收入嗎?”
不,它只會減少技術債。
只有當債務開始造成痛苦時,人們才會償還債務。
| 事物 | 平均壽命 |
| ------------------------ | ---------------------------------------------------------------- |
| JavaScript 框架 | 流行時間約為 5-7 年(React 是一個罕見的例外,流行時間更長) |
| 真實商業應用 | 12-20 年 |
| WordPress 在網站上的份額 | 約 43%(核心包含 jQuery) |
| 仍在使用 jQuery 的網站 | 前 100 萬的網站中約有 78% |
框架來來去去:
AngularJS(已死),Backbone(奄奄一息),Ember(勉強維持),Meteor(還記得它嗎?)。
jQuery?
不進化,不流行。
靜靜地執行在生產伺服器上,為賺錢的程式碼提供動力。
簡而言之:否。
不宜作為首選工具。你不會透過學習過時的醫療程序來入門學習醫學。
jQuery 不教:
成分
反應性
國家管理
捆綁器
SSR/水合作用
可擴展架構
它教的是DOM腳本編寫。而那已經不是現代前端開發的內容了。
是的,絕對的。
不是要寫下來,而是要安全地刪除它。
一個資深開發者如果看不懂遺留程式碼,那他只是個 React 開發者,而不是軟體工程師。
製造閃亮的新玩意兒是拿不到工資的。
你的工作是維持現有設備的正常運轉,同時確保生產不會中斷。
如今真正的高級技能:
“我可以將一個大量使用 jQuery 的功能重構為現代程式碼,而不會破壞結帳按鈕。 ”
因為實際的遷移過程是這樣的:
在框架中發布新的使用者介面
讓舊的 jQuery 模組並行執行(這很麻煩)
承諾“我們稍後會清理乾淨”
以後永遠不會到來
你不能「移除 jQuery」。
你把它封裝起來,縮小它,隔離它。
有一天,5 年多後,你意識到只有 3 個舊零件仍然依賴它……這就足夠了。
那不是懶惰。
這就是經濟現實。
約43%的網站使用WordPress建置。
WordPress核心仍然自備jQuery(已更新,但仍然是必需的)。
數以萬計的主題/外掛都依賴它。
大多數都不會被重寫。
即使今天所有前端開發人員都停止使用 jQuery ,僅 WordPress 一項就能讓它再存活十年。
jQuery之所以“活著”,並不是因為它好用。
它之所以還存在,是因為刪除它的成本高於保留它的成本。
那不是一個技術性的決定。
這就是經濟學+風險管理+歷史遺留問題。
jQuery是未來嗎?不是。
它「死了」嗎?也沒有。
它就像前端的 COBOL——老舊、過時,但在數百萬個系統中卻不可取代。
現代前端開發需要掌握兩項技能:
✅ 正確地建造新東西
✅ 對舊的東西足夠了解,不會把它弄壞。
你有沒有嘗試過從生產環境中的應用程式移除 jQuery?結果如何?
你認為公司是否應該為程式碼重構預留預算——即使沒有直接的投資回報?
2035年我們還能看到jQuery嗎? (我猜會的。)
我在我的Substack帳號上分享了更多內容:
不搞噱頭,沒有每週最佳框架。
這就是真實的軟體現況。
原文出處:https://dev.to/sylwia-lask/jquery-will-outlive-half-of-todays-javascript-frameworks-heres-why-2mmd