Nuxt:展望未來
2023 年回顧 - Sébastien
在 2023 年 1 月,Daniel 提出了 Nuxt:2023 年願景。我們實現了我們設定的大部分目標。有些目標尚未達成,我們將在今年解決它們!
這是一個成果豐碩的一年,團隊發布了 9 個次要版本:從 v3.1 到 v3.9。
在最初的 365 天裡,Nuxt 3 達成了新的里程碑
- 49,5K 個星星 在 GitHub 上 ( 新增你的星星 😊)
- 27M 次下載 在 npm 上
- 612 位貢獻者 在 nuxt 儲存庫 上
- 184 個模組 由 142 位維護者 創建
- 2,423 個已關閉的問題
- 1,728 個合併的 pull request
- 26,300 位成員 在 Discord 上
十月底,Nuxt 3 的下載量 超越了 Nuxt 2 的下載量 🚀。
同月,我們發布了 Nuxt Image 1.0,它支援 Nuxt 3 和新功能,以確保您的網站在使用圖片時保持高效能。現在,當您開始使用 <NuxtImg>
或 <NuxtPicture>
元件時,Nuxt 會自動安裝它。
我們推出了 Nuxt DevTools,提升了我們對 Web 框架的開發者體驗期望。我很高興看到我們啟發了其他框架採用類似的方法:Vue DevTools、Next DevTools、Remix DevTools、Vite Plugin DevTools、Astro Dev Toolbar 等等。
經過多個月的內部建構 UI 函式庫,Benjamin Canac 開源了 Nuxt UI,讓您可以使用 TailwindCSS 建構的高度可自訂元件,更快速地建立網站。
Nuxt Content 已經發布了 10 個次要版本,並進行了各種改進:從效能到 MDC 語法。我們正在進行一些工作,以便在未來更好地支援 邊緣渲染。同時,NuxtLabs 團隊正在開發 Nuxt Studio,讓使用者可以使用類似 Notion 的編輯器編輯 Markdown 檔案,同時將內容保留在 git 儲存庫中。
展望 2024 年 - Daniel
我們已經進入 2024 年了,而這次更新絕對是遲來的!
以下是一些關於我未來一年將引領 Nuxt 發展方向的想法。
持續開發與重新構想
我希望看到我們繼續調整我們的最佳實踐,以適應生態系統不斷變化的需求、擴展良好 DX 的邊界,並改進 Nuxt。
我對我們目前在 Nuxt 中提供的功能感到非常滿意。但我絕不想因此而自滿。我們需要不斷追求隨著網路平台發展而出現的新可能性。我們已承諾在未來支援 Baseline Compatibility(並且參與了與 W3C WebDX 社群組 關於此議題的討論)。
我們有一些策略,使我們能夠做到這一點,同時優先考慮現有使用者的穩定性,並認識到 Nuxt 生態系統的範圍。
- 總體而言,我們遵循一種模式,即引入一個模組或實驗性功能,該功能可以在測試中停用,同時我們收集回饋並確認新功能的發展方向和 API。
- 我們採用了 ecosystem-ci 模式,以驗證我們在 Nuxt 中的程式碼變更不會意外地破壞下游專案。如果您維護一個依賴 Nuxt 的、經過良好測試的模組或函式庫,我歡迎您提交 PR 將您的專案新增到 nuxt/ecosystem-ci。
- 我們計劃發布一個 pull-based 測試,讓您可以配置您的 CI 以針對最新的 Nuxt nightly 版本進行自我測試,以便在 Nuxt 新版本發布時提供早期回饋,而不是在升級時才遇到問題。
- 最後,我們採用了 push-based 方法來更新現有專案。當我們識別出可以推廣到生態系統的重大變更或改進時,我們將主動向 Nuxt 模組(以及在較小程度上,其他使用 Nuxt 的開源專案)提出 PR。
我希望這將使我們能夠繼續創新和實驗新功能,而不會犧牲穩定性和可維護性。
特別是,請關注以下項目的積極開發
- ✅ nuxt/fonts - 致力於 v1.0.0 版本
- ✅ nuxt/eslint - 致力於 v1.0.0 版本
- 🔥 nuxt/scripts - 即將發布
- 🚧 nuxt/a11y - 即將推出!
- 🚧 nuxt/auth - 即將推出!
- 🚧 nuxt/hints - 即將推出!
永續的開源
我希望 Nuxt 在長期發展中繼續保持獨立、社群驅動的框架。
我很高興看到基於 Nuxt 建立的成功企業,以及圍繞 Nuxt 出現的倡議,這些倡議成為 贊助商 或以其他方式回饋核心框架,從而促進 Nuxt 的持續發展。
顯然,NuxtLabs 是這方面的傑出範例。Pooya Parsa、Anthony Fu 和我都能全職投入開源工作,這要歸功於他們圍繞 Nuxt 提供的付費服務:Nuxt UI Pro、Nuxt Experts、Nuxt Studio 和 NuxtHub(即將推出)。他們還 贊助來自 Vue、Vite、UnJS 和 Nuxt 的社群成員。
對我而言,為了保持 Nuxt 的獨立性和未來永續性,需要一個活躍且不斷成長的團隊和社群。在接下來的幾週內,我將宣布一個更廣泛的「Nuxt 團隊」,與核心團隊並肩作戰。這是為了表彰許多人的不懈努力,他們的貢獻已經使 Nuxt 成為今天的樣子。
我也希望看到更多團隊成員或更廣泛的社群成員在未來幾年內獲得贊助,以便在 Nuxt 生態系統中工作。如果您的公司受益於 Nuxt,請考慮贊助一些正在 Nuxt 上工作的開發人員,無論他們是團隊成員還是更廣泛的社群成員。
友善的協作
從我們開始 Nuxt 3 的工作以來,我們一直致力於提取我們受益的工具、函式庫,甚至框架,以便它們也能讓更廣泛的受眾受益。
當然,這就是 UnJS 的起源,它在 Pooya Parsa(他也是 Nuxt 核心團隊的關鍵成員)的領導下持續蓬勃發展。
我們希望繼續保持這種友善協作的態度。儘管自己建構東西或將其據為己有可能是「成功」,但我對零和遊戲沒有任何興趣。如果我們一起建構,無論是作為一個框架還是一個網路社群,我們都會走得更遠。
同樣地,我們的核心價值觀之一是平台獨立性(以及深度的平台整合)。我們支援 90 多個供應商,涵蓋部署、測試、故事、KV 和快取、資料庫、圖片 CDN 和字型主機。這種廣泛的生態系統帶來了豐厚的回報,並讓人們可以根據供應商帶來的價值,自由選擇使用哪些供應商。但這也意味著我們依賴於使用這些不同供應商的社群,來幫助我們保持這些整合的最新狀態。
Nuxt 不會消失,但我們希望我們協作完成的工作能夠在我們之後持續長久。
一個友善的社群
儘管人們很容易專注於技術卓越性或開發者體驗的品質,但我更受鼓舞的是看到 Nuxt 生態系統持續成長為一個友善且熱情的社群。
我非常感謝在 我們的社群 Discord、Twitter 和 GitHub 上普遍存在的友善語氣。
Nuxt 4 呢?
JavaScript 領域以每週都推出一個新框架而聞名,這意味著存在一個自然的炒作週期。
但是,我們在 Nuxt 的持續開發中並不是為了炒作,這也是我們致力於定期發布週期的部分原因
- 每年發布 主要 框架版本
- 大約每個月發布 次要 版本
- 大約每週發布 修補程式 版本
您可以預期在主要版本中看到重大變更,而在次要版本中看到新功能。這意味著我們不會為了 Nuxt 4 而保留功能;我們將在每 6 週一次的次要版本發布週期中盡可能定期發布這些功能。
我們的目標是 Nuxt 4 成為一個進行深思熟慮的重大變革的機會,這些變革要么具有直接的遷移路徑(理想情況下是自動化流程),要么能夠選擇加入先前的行為。
作為一個團隊,我們肯定從 Nuxt 2 到 3 的過渡中吸取了教訓,我將 Nuxt 4 視為一個機會,讓我們證明主要版本發布可以為使用者帶來良好的體驗。
您可以透過瀏覽 我們的路線圖 或查看 我們為 v4 標記的問題 來預覽我們心中的變更。一如既往地非常歡迎您的回饋和願望!
時程表
我們的 Nuxt 4 路線圖有點複雜,因為我們也計劃在 UnJS 生態系統中進行主要版本發布。
粗略地說,我們的目標是在 Nuxt v3 和 Nitro v2 再發布一個次要版本,然後開始在 UnJS 套件生態系統中進行一系列主要版本發布 - 最終目標是 Nuxt v4。
我們的目標是在 6 月 14 日或之前發布 Nuxt v4(儘管顯然這取決於在 Nitro 主要版本發布後是否有足夠的時間在社群中進行充分測試,因此請注意這不是確切的日期)。
持續支援
在 Nuxt v4 發布後,我們將為 Nuxt v3 提供 六個月 的持續支援和錯誤修復,鑑於我們旨在提供平穩的升級路徑,我們預計這將足以升級到 v4。
我們希望您和我們一樣對即將發布的 Nuxt v4 感到興奮! 🎉
最後,非常感謝您在我們建構 Nuxt 的過程中給予的所有信任和支持。我知道我可以代表整個團隊說,能夠與 Nuxt 社群中的每個人一起完成這件事,是莫大的榮幸! ❤️
Daniel(代表整個 Nuxt 團隊)