博客 / 詳情

返回

前端年度盤點 2025:定義這一年的 10 個核心大事件

原文:Frontend Wrapped 2025: The 10 storylines that defined the year - LogRocket Blog

翻譯:嘿嘿

來源:前端週刊

2025 年對前端開發者來説簡直是一場情緒過山車。過去這一年裏,我們見證了各個角落的瘋狂改進、大規模安全漏洞,以及框架的重新發明。AI 霸佔了頭條,改變了我們構建應用的方式。一些大牌(TanStack、CSS、TypeScript)帶來了重大更新,為 2026 年及以後開闢了新的可能性。

frontend wrapped top stories of 2025

這次我不打算做傳統的年度回顧,而是根據兩個標準對今年最重大的前端事件進行排名:它們引發的熱度以及對我們構建 Web 應用方式的持久影響。我們從第 10 位最重要的故事線開始,一路倒數到我認為最能定義 2025 年前端開發的那個事件。

10. TypeScript 繼續統治地位

TypeScript 在 2025 年表現得太好了:

-   npm 每週下載量達 6000 萬次(2021 年為 2000 萬次) -   420 萬個 GitHub 倉庫在使用 TypeScript -   前 100 個 npm 庫中超過 80% 都附帶 TypeScript 類型定義

TypeScript 並不是要取代 JavaScript;它就是開發者現在編寫 JavaScript 的方式。大多數代碼庫都是用 TypeScript 編寫,然後編譯成 JavaScript(就像 Sass 編譯成 CSS 一樣)。你能獲得類型安全、更好的工具、真正好用的自動補全,以及在有類型代碼下性能提升 20% 的 AI 編碼助手。

9. Tailwind CSS 地位穩固

Tailwind 在 2025 年獲得了大規模採用,而 styled-components 和其他運行時 CSS 解決方案則失寵了。現在有超過 61.7 萬個網站在使用 Tailwind,它已經成為現代 React 應用的默認樣式選擇。"寫內聯樣式"的批評聲徹底消失了;我覺得現在大家都默認用 Tailwind 了,這已經不是個需要爭論的問題。

8. 服務端渲染(SSR)無處不在

SSR 在 2025 年不再是"錦上添花",而是成了必需品。每個主流框架都全力投入:Next.js 將其設為默認,Remix/React Router v7 圍繞它構建一切,TanStack Start 開箱即帶 SSR,就連 SvelteKit 和 Astro 也加倍押注服務器優先架構。

性能和 SEO 不再是可選項。Google 的 Core Web Vitals 變得更嚴格,用户期待頁面秒開。但 2025 年的 SSR 不是 2015 年那種笨重的服務器渲染。

現代 SSR 很聰明:框架現在支持部分水合(只有交互部分需要 JavaScript)、流式 SSR(HTML 準備好就發送)和選擇性水合(先水合可見部分)。React Server Components 更進一步,讓你可以在服務器上獲取數據,而不用把那些邏輯發送到客户端。

7. Shai Halud npm 攻擊事件

React 在 2025 年末在安全方面遇到了麻煩(稍後會詳細説)——但今年它們不是唯一的受害者。

npm 生態系統也遭遇了不少攻擊。9 月份,攻擊者發起了一場協同供應鏈攻擊,分兩波展開。首先,9 月 8 日,chalk、debug 和 ansi-styles 等包——這些庫每週總下載量達 26 億次——通過對維護者賬户的釣魚攻擊被攻陷。

注入的惡意軟件針對加密貨幣交易。然後出現了 Shai Hulud 蠕蟲(以《沙丘》中的沙蟲命名)。這個自我複製的惡意軟件攻擊了超過 180 個包,竊取憑證並自動傳播到被攻陷維護者控制的其他包。

與傳統攻擊不同,這是蠕蟲式的:當它在環境中發現 npm token 時,會自動發佈任何可訪問包的惡意版本,無需人工干預就能指數級傳播。可怕的是規模和自動化程度。

如果你在攻擊窗口期運行 npm install,就可能拉取到惡意代碼。npm 團隊和維護者反應迅速,但損害已經造成;數千個項目暴露在風險中,整個生態系統花了幾周時間審計依賴項和替換憑證。

6. CSS 幹掉了更多 JavaScript

2025 年的 CSS 不再只是關於樣式;它變成了一門編程語言。瀏覽器廠商全力投入原生 CSS API,這些 API 能消除整個 JavaScript 庫的存在,説實話,早該如此了。口號很明確:少用 JavaScript,多用 CSS。

Anchor Positioning(錨點定位)

Anchor Positioning 在 2025 年在 Safari 中達到生產就緒狀態,加入了 Chrome 的現有支持。雖然 Firefox 還只是實驗性支持,但該功能現在可以在支撐大部分 Web 的兩個瀏覽器中使用。它允許開發者相對於其他元素定位工具提示、彈出框和下拉菜單,無需 JavaScript。

Scroll-Driven Animations(滾動驅動動畫)

這些動畫在 2025 年顯著成熟,在主線程外運行,實現絲滑的 60fps 性能。你不用再寫 Intersection Observer JavaScript,可以使用 animation-timeline: scroll()view() 將動畫直接綁定到滾動位置。

Chrome 提供了完整支持,你甚至可以基於哪個元素被吸附或滾動器是否可滾動來製作動畫,使用 Chrome 133 中引入的新 @container scroll-state() 查詢。

Container Queries(容器查詢)

容器查詢達到了 100% 的瀏覽器支持,成為基於組件設計的默認選擇。組件現在可以響應父元素的寬度而不是視口寬度(@container (min-width: 600px)),使真正可複用的組件成為可能。再配合CSS 嵌套(現在所有瀏覽器都原生支持),你就能在不用 Sass 的情況下編寫組件作用域樣式。

CSS if() 函數

它終於來了,將條件邏輯直接帶入 CSS。你現在可以寫 background: if(style(--theme: dark), black, white) 來根據自定義屬性或樣式查詢有條件地應用值。

5. Rust 的復興

前端工具在 2025 年經歷了我所説的身份危機,而 Rust 就是我們需要的療法。以前需要幾分鐘的構建工具現在幾秒鐘就完成了,因為生態系統意識到用 JavaScript 來構建 JavaScript 不夠快。

始於 2024 年末的 Rust 浪潮在 2025 年成為標準。Rspack 在 2024 年 8 月發佈 1.0 版本,構建速度提升 23 倍(Webpack 的 6.5 秒 → 282ms),在 2025 年獲得了大規模企業採用。

Vercel 的 Turbopack 成為 Next.js 15 的默認選擇,提供快 700 倍的 HMR。SWC 取代 Babel 成為默認轉譯器,編譯速度快 20 倍。Biome 作為 ESLint 和 Prettier 的 Rust 驅動替代品出現,而 Oxc 提供了用於解析、檢查、格式化和壓縮的完整 Rust 工具鏈。

微軟、亞馬遜、Discord、TikTok 和抖音等公司在 2025 年都在生產環境中採用了這些工具。Rust 復興不是選擇;這是必然。當你的構建耗時,CI 流水線花錢時,你要麼用 Rust 重寫,要麼接受現狀。2025 年證明了,如果性能很重要,就會用 Rust 重寫。歡迎來到鏽化時代。

4. TanStack 生態系統的崛起

TanStack 在 2025 年悄悄接管了 React 開發,説實話,大多數開發者(包括我)甚至沒看到它的到來。最初作為 React Query(一個數據獲取庫)起步的東西,演變成了一個完整的生態系統,現在正在取代 Redux、React Router 和開發者多年來一直使用的其他一堆工具。

TanStack 創建者 Tanner Linsley 兩年前全力投入開源,這次押注大獲成功。TanStack 現在有超過 40 億次下載,涵蓋從數據獲取(TanStack Query)、路由(TanStack Router)、表格(TanStack Table)、表單、虛擬化,甚至還有一個叫 TanStack Start 的全棧框架。

最瘋狂的是什麼?他們今年在路由匹配上實現了 20,000 倍的性能提升,只是通過追求正確性而非速度。每個庫都是無頭的、類型安全的、框架無關的,這意味着你能獲得完全控制而不會被框架鎖定。

到 2025 年底,TanStack 成為需要認真處理數據的 React 應用的默認推薦。Next.js 等框架仍然占主導地位,但如果你用 Vite 構建自定義技術棧或想完全控制架構,TanStack 就是新標準。要説 TanStack Router 的最大的問題,就是一旦你用過它,回到其他路由解決方案就會感覺很痛苦;你會被它的開發體驗和類型安全寵壞。

3. React 19.2 帶來無處不在的異步

React 19.2 版本引發了巨大關注,理由充分。在它發佈之前,每一次表單提交、導航點擊和搜索框都需要一套組合拳:用 useState 處理加載狀態,用 try-catch 處理錯誤,用 useEffect 協調,然後祈禱你沒製造出競態條件。

React 19 徹底改變了遊戲規則。在 React Conf 2025 上,團隊發佈了"Async React",這是一個使用 React 19 的新原語(如 useTransitionuseOptimisticuse())以及 React 18 的 Suspense 和併發特性來聲明式處理異步操作的完整系統。

現在 Actions 自動跟蹤異步工作(再見 isLoading 標誌),樂觀更新讓 UI 在服務器請求後台運行時感覺即時響應,Suspense 處理加載狀態而不會出現刺眼的加載動畫閃爍,useDeferredValue 讓搜索框即使在慢速連接下也保持流暢。Async React 演示展示了其可能性:在任何網絡速度下都有流暢的用户體驗,零手動狀態跟蹤。

最棒的部分是框架為我們內置了這些。Next.js 現在默認將導航包裝在 transitions 中。TanStack Query 內置了 Suspense 支持。設計系統開始暴露"action"屬性,所以按鈕和標籤頁能處理自己的樂觀更新。

所有那些異步協調的複雜性從我們的代碼轉移到了框架層。我們從手動跟蹤每個加載狀態,變成只需描述應該發生什麼,React 處理其餘部分。大量樣板代碼就這麼消失了,太瘋狂了。我不知道為什麼花了這麼長時間,但説實話,我們不能否認異步協調終於感覺像是屬於 2025 年的東西了。

2. React2Shell 漏洞

第二個最能定義這一年的故事是 React 2Shell——也就是 CVE-2025-55182——漏洞。

React 經歷了有史以來最糟糕的 12 月!11 月 29 日,安全研究員 Lachlan Davidson 在 React Server Components 中發現了一個嚴重漏洞,CVSS 評分達到完美的 10.0,這是可能的最高嚴重級別。這不是隨機的:這是一個未經身份驗證的遠程代碼執行(RCE)漏洞,讓攻擊者只需一個惡意 HTTP 請求就能在服務器上運行任意代碼。

金融應用成為主要目標;一個精心製作的請求就能暴露敏感的銀行信息、操縱交易或植入後門以持續訪問。運行 React Server Components 的企業儀表板、醫療門户和 SaaS 平台突然成了活靶子。

React 19 的 Server Components 本應改變全棧開發。結果它們成了 React 有史以來最大的安全危機。整個生態系統在 2025 年的最後幾天都處於緊急補丁模式。

教訓?能力越大(Server Components)責任越大,而且永遠、永遠要更新你的依賴項。不過值得一提的是,React 團隊行動如閃電:從報告到補丁只用了四天。到 12 月 3 日,修復已經發布。

1. AI 編碼工具的持續演進

我們今年見證了超過 30 個 AI 模型發佈:GPT 5、Claude Opus 4.5,以及最近的 Gemini 3 Pro,還有一波中國公司發佈的 DeepSeek、Qwen、ByteDance 和 Moonshot。

還不止於此:Windsurf 和 Cursor 之間的智能體大戰愈演愈烈,甚至引發了投資者之間的競價戰。

我們看到 Bolt 和 v0 引領了從編程到生產的一站式編碼理念。我們的 CLI 也轉變成了編碼智能體。我們看到 Claude Code 主導了這個領域,還引入了 MCP 的使用。自然地,其他模型也跟進了:Gemini CLI、Qwen CLI、Kimi CLI 和 Codex。

這些行業在改變我們編寫前端代碼的方式上投入了最多的工作。今年我們幾乎每隔一週就有 2 個模型發佈,它們專門被增強來取代開發者。我不知道為什麼它們這麼想搶我們的飯碗,但説實話,我們不能否認它們讓我們的生活更輕鬆了。就像 Spotify 等其他"年度總結"一樣,你也得承認這些模型和工具是你今年最常用的 !😂

結論

2025 年真是不平凡的一年!

無論是 AI 進步、安全漏洞,還是不斷演進的框架,我們經歷了大量改變我們對 Web 開發思考方式的事件。

我漏掉了哪些故事?我的排名哪裏不對?哪些故事會定義 2026 年?在評論區發聲,讓我知道你的看法。新年快樂!

user avatar
0 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.