Next.js 是一個儲存庫,它是一個相對較新但功能強大的 JavaScript 框架,正在席捲現代 Web 開發場景。 Next.js 透過伺服器端渲染、靜態網站產生和 SEO 優化增強了 React。
開發人員喜歡它的多功能性,數字不言而喻。在最近的一項調查中,60% 的開發者表示,他們更喜歡 Next.js 來建立生產就緒的應用程序,因為它易於部署和可擴展。在比較部署時間時,Next.js 在速度和效率方面始終優於 React,使其成為旨在實現無縫建置流程的開發人員的首選。
本案例研究重點關注 OpenSource Next.js 儲存庫,特別強調其出色的部署頻率。
作為使用 Next.js 來建立動態電子商務網站和快速啟動部落格的開發人員,我們不禁想知道——他們是如何以如此高效的方式創建和管理這樣一個傳奇的存儲庫的?因此,我們使用開源中間件進行了更深入的挖掘。
如果您很高興進一步探索這些見解並與其他工程領導者建立聯繫,請加入我們 The Middle Out 社群 或訂閱我們的電子報以獲取獨家資訊案例研究等等!
但是,首先要做的事情。讓我們來了解一下 Dora Metrics 是什麼。
Dora Metrics 是顯示專案從軟體交付開始到最終生產的進展效率的關鍵指標。請隨意閱讀我們關於 Dora Metrics 的詳細部落格以及它們如何幫助您的工程流程!
部署頻率:程式碼投入生產的頻率。
更改的前置時間:提交生效需要多長時間。
平均恢復時間 (MTTR):從故障中恢復所需的時間。
更改失敗率:有多少部署破壞了某些內容。
現在我們都在同一頁上,讓我們看看 Next.js 表現如何。
OpenSource Next.js 儲存庫因其卓越的部署頻率而脫穎而出,遠遠超過業界標準。在過去的三個月裡,該儲存庫持續推動大量部署,反映了團隊的效率和自動化實力。
2024 年 6 月,部署了 247 次,其次是 7 月的 261 次,以及 8 月的驚人部署量 279 次。這些數字凸顯了儲存庫對持續整合和快速功能發布的承諾,使其成為開源社群部署頻率的基準。
這幾乎是每 3 小時部署一次!這種高頻部署不僅僅是為了展示;而是為了展示。它使項目以令人難以置信的速度發展。他們是如何做到的?有幾個關鍵因素很突出:
自動化 CI/CD 管道:透過適當的自動化,部署快速而順利——幾乎就像魔術一樣。
頻繁的小型 PR:透過將變更分解為小型拉取請求,它們可以更快地合併和部署,風險更低。
快速解決問題:錯誤很快就會被消除,並且部署失敗的情況很少見。
儘管部署頻率很高,但儲存庫在週期時間上顯示出顯著的波動,這影響了整體變更的交付時間。週期時間包括所有 PR,而前置時間僅包括具有可用部署資料的 PR。 2024 年 6 月,平均週期時間約為 3.5 天,7 月略有增加至 3.6 天,然後到 8 月飆升至 5.3 天。
週期時間一直在增加,從 3.5 天增加到 5.3 天,這表明開發過程出現了一些延遲。識別瓶頸,無論是在程式碼審查、測試還是手動任務中,以及實施自動化測試或改進衝刺計劃都可以幫助減少這種情況。
2024 年 6 月,平均首次回應時間為 1.6 天(38.4 小時),這表明 Next.js 儲存庫中問題和拉取請求的處理快速且有效率。到 2024 年 7 月,這一時間略有增加至 1.8 天(43.2 小時),暗示有輕微延遲,可能是由於問題數量不斷增加或團隊可用性降低。
但是,在2024 年8 月,時間大幅躍升至2.6 天(62.4 小時),這表明出現了明顯的延遲,這可能是由於工作量增加、審稿人分配的瓶頸或假期導致團隊成員減少造成的。
為了縮短首次回應時間,可以實施多種策略來解決最近延遲增加的問題。自動發送問題和拉取請求通知可以確保更快地分配給審閱者,減少等待時間。
針對回應時間引入 SLA(服務等級協定)可以建立問責制並鼓勵更快的參與。此外,審查團隊分配和工作量分配可以幫助平衡職責,特別是在需求高或團隊可用性較低的時期(例如假期)。
鼓勵跨職能協作還可以透過更均勻地在團隊中分散負載來實現更快的回應。這些變化可以有效地縮短反應時間並保持效率。
從 2024 年 6 月到 8 月,Next.js 儲存庫變更的交付時間逐漸從 3.3 天增加到 4.1 天。 6 月份,相對較快的 3.3 天週轉反映了高效的工作流程和順暢的協調。到了 7 月,這一時間略有增加至 3.6 天,這表明效率有些低下,可能是由於程式碼審查時間更長或更複雜的任務造成的。
然而,到了 8 月份,交付時間達到了 4.1 天,這表明可能由於工作量增加、審核瓶頸或假期導致團隊能力下降而導致更嚴重的延遲。這一趨勢表明需要優化流程並防止進一步放緩。
原因?
審核時間延長。例如,PR #67498
涉及深入審查和測試的複雜任務。 PR #67391
首次回應時間的波動(從 1.6 天到 2.6 天)導致審核開始時間不均勻,從而延遲進度。
OpenSource Next.js 儲存庫包含各種活動,從功能升級和錯誤消除到改進文件和完善測試。以下是一些關鍵見解的細分:
功能和改進:大修,包括效能最佳化 (PR #67397)、新功能 (PR #67215)。
文件:對文件的重大貢獻確保清晰度和更容易採用(PR #67056)。
錯誤修復:解決關鍵錯誤修復,突出顯示 41.5 小時(約 1.7 天)的返工時間 (PR #67022)。
效能最佳化:提高框架的速度和效率(PR #67065)。
這些更新使 Next.js 成為 Web 開發領域的領導者。然而,許多需要改進的領域——週期時間、首次回應和交付時間——可以從測試、程式碼審查和通知方面的自動化程度的提高中受益。
為了進一步優化,他們可以追蹤管道中的瓶頸,無論這些瓶頸是否出現在程式碼審查、測試或部署期間,並針對這些領域來提高整體效能。此外,透過更頻繁的站立或回顧來促進持續回饋可以幫助識別和解決摩擦點。透過專注於這些策略,您可以建立更有效率、更精簡的開發和部署管道。
對於內部貢獻者來說,快速部署週期是一個夢想。功能和修復快速推出,這意味著團隊可以近乎即時地獲得回饋。然而,較長的交付時間可能會讓一些貢獻者感覺自己被排在長隊中,等待他們的工作上線。
對於外部貢獻者來說,了解這些瓶頸可以設定更清晰的期望。如果您正在為 Next.js 做出貢獻,即使部署頻繁發生,如果您的 PR 需要一些時間來合併,也不要感到驚訝。
投資自動化:可靠的 CI/CD 管道可以讓部署像水一樣流暢。
鼓勵小而頻繁的 PR:較低的複雜性意味著更快的審核和更快的部署。
解決週期時間的瓶頸:如果交貨時間滯後,請深入研究導致延遲的原因—無論是返工還是審核時間。
Next.js 的部署頻率令人印象深刻,而且還在飆升,但它們的交付時間、週期時間和首次回應時間可能需要一些關注。透過一些策略調整,他們有潛力成為 Google 年度 Dora 報告中表現最佳的企業的有力競爭者,
Next.js 在部署效率方面樹立了新的基準,使其成為開源世界中值得關注的基準。憑藉其無與倫比的速度、品質和不斷創新的結合,它為競爭對手留下了幾乎沒有追趕的空間。無論您是積極的貢獻者還是好奇的旁觀者,這個開創性的存儲庫都有很多東西值得欣賞和學習。
隨著 Next.js 的不斷發展,它不僅僅滿足網路的需求;它正在塑造他們。準備好迎接更多突破性的更新吧,它重新定義了開源的卓越性!
如果您很高興進一步探索這些見解並與其他工程領導者建立聯繫,請加入我們 Middle Out 社群。並訂閱時事通訊以獲取獨家案例研究等!
Next.js 由 Vercel(以前稱為 Zeit)於 2016 年創建,由於其構建伺服器端渲染 React 應用程式的強大功能而迅速流行起來。它支援靜態網站生成(SSG)和伺服器端渲染(SSR),使其成為開發人員的靈活選擇。 Netflix、Twitch 和 GitHub 等大公司使用 Next.js 為其 Web 應用程式提供支持,展示了其可靠性和可擴展性。
中介軟體和 Dora 指標
持續整合指南
Dora Metrics 方法
以上是Next.js 是下一次演進還是只是曇花一現的趨勢? Dora Metrics 案例研究的詳細內容。更多資訊請關注PHP中文網其他相關文章!