newsence
來源篩選

JavaScript-heavy approaches are not compatible with long-term performance goals

Hacker News

The article argues that relying heavily on JavaScript for web development can hinder long-term performance goals, suggesting alternative approaches might be more sustainable.

newsence

JavaScript 為主的方法與長期效能目標不相容

Hacker News
13 天前

AI 生成摘要

文章認為,過度依賴 JavaScript 進行網頁開發會阻礙長期的效能目標,並建議可能需要考慮其他方法。

背景

這篇文章源自一位在 Automattic 負責網頁效能的工程師,他根據多年維護大型專案的經驗,指出過度依賴 JavaScript(尤其是 React 等框架)的開發模式,與長期的效能目標背道而馳。作者認為,這種「JS 重型」的開發方式雖然被包裝成提升開發效率的現代標準,但實際上卻常導致 bundle 體積失控、渲染效能下降,並主張應回歸以伺服器為中心的開發模式。

社群觀點

Hacker News 的討論呈現出明顯的世代交替感與對現狀的疲勞。許多資深開發者深有同感,感嘆網頁開發似乎陷入了「每隔幾年就重新發明輪子」的循環。支持者指出,二十年前的網頁在硬體效能極低的情況下,反應速度反而比現在動輒數 MB 的單頁式應用程式(SPA)更快。他們認為伺服器渲染(SSR)能提供更直覺的效能優勢,因為瀏覽器只需處理已經生成的 HTML,而不必在客戶端執行繁重的解析與運算。

然而,反對意見則認為將問題全歸咎於 JavaScript 過於片面。部分留言者指出,作者的經驗大多侷限於 React 與 Redux,這兩者在現代框架中已顯得相對臃腫。新興框架如 Svelte、Solid 或 Vue 在 bundle 體積與渲染速度上已大幅逼近原生 JS 的水準。他們爭辯道,將邏輯移回伺服器並非萬靈丹,因為這意味著每一次互動都需要經歷網路往返的延遲,對於需要高度互動性的編輯器類應用(如 Figma),客戶端渲染反而是唯一能保證低延遲的方案。

討論中一個核心的爭論點在於「DOM 是否為效能瓶頸」。有觀點認為 DOM 本質上是為文件設計的,而非複雜的應用程式介面,因此像 Figma 這樣繞過 DOM、改用 WebAssembly 與 Canvas 的做法才是真正的效能解方。但也有開發者反駁,DOM 存取速度在現代瀏覽器中已經極快,真正的效能殺手通常是框架層疊加的複雜邏輯,或是開發者在引入 npm 套件時缺乏節制,導致相依性過度膨脹。

此外,社群對 GitHub 近期的效能退化有著強烈共鳴。不少人批評 GitHub 在被微軟收購並引入更多 React 組件後,操作感變得沉重且緩慢。這引發了關於「開發者體驗(DevEx)」與「使用者體驗(UX)」衝突的討論:企業往往為了招募方便或開發便利選擇主流框架,卻忽視了低階設備使用者在解析大量 JS 時的痛苦。最終,社群達成了一種微妙的共識:工具本身沒有對錯,問題在於業界盲目追求框架的「現代化」,而忽略了根據應用場景選擇最合適技術的工程直覺。

延伸閱讀

在討論串中,開發者們推薦了幾個值得關注的替代方案與資源,包括強調極簡與高效能的 Datastar 框架,以及能讓網頁組件在無 JS 環境下仍具備基本功能的漸進式增強技術。此外,infrequently.org 網站上的文章被多次提及,被認為是深入理解網頁效能底層邏輯的必讀資源。針對狀態管理,留言者也推薦了比 Redux 更直覺的 MobX,以及專為現代網頁設計的 Qwik 框架。