最新收集於 16h

Bun 1.4 登陸 Vercel Functions

Bun 1.4 登陸 Vercel Functions
PostLinkedIn
閱讀原文: Vercel News

💡在 Vercel 無伺服器執行環境中,評估 Bun 的 Rust 重寫與提升後的 Node.js 相容性。

⚡ 30-Second TL;DR

有什麼變化

Bun 1.4 已作為可選執行環境提供給 Vercel Functions。

為什麼重要

執行無伺服器 JavaScript 工作負載的團隊,可在不離開 Vercel 的情況下評估 Bun 改善後的相容性與效能。不過,由於升級需主動選擇且包含重大變更,正式遷移前進行分階段測試相當重要。

下一步行動

在 vercel.json 將 bunVersion 設為 1.4.x 並建立預備環境,接著在正式推出前執行 Node.js 相容性與 WebSocket 測試。

誰應關注:Developers & AI Engineers

關鍵要點

  • Bun 1.4 已作為可選執行環境提供給 Vercel Functions。
  • 此版本將 Bun 從 Zig 重寫為 Rust,並新增通過 1,500 多項 Node.js 相容性測試。
  • 開發者必須在 vercel.json 將 bunVersion 設為 1.4.x,並檢視重大變更。
  • Vercel 支援 Bun.serve()、WebSockets、Fluid compute,以及 Next.js、Elysia 和 Hono 等框架。

🧠 深度解析

背景與延伸:來自公開資料,非原文內容。引用 20 個來源。

🔑 增強重點摘要

  • Bun 專案於 2025 年 12 月被 Anthropic 收購,其開發團隊現為 Anthropic 的一部分,並利用其 AI 工具(如 Claude Code)進行開發工作。
  • Bun 從 Zig 重寫為 Rust 的過程主要由 AI 工具輔助完成,其中包含超過 535,000 行的程式碼在 11 天內完成翻譯。
  • 此次重寫的動機之一是為了解決 Zig 程式碼中常見的記憶體安全問題,例如 use-after-free 和 double-free 錯誤,Rust 的借用檢查器有助於在編譯時捕獲這些問題。
  • 與 Node.js 和 Deno 使用 V8 引擎不同,Bun 採用 Safari 的 JavaScriptCore 作為其 JavaScript 引擎,旨在提供卓越的效能。
  • Vercel 的 Fluid compute 執行環境(Bun 運行於其上)採用「活躍 CPU 計費」模式,開發者僅需為 CPU 實際處理訊息的時間付費,而非閒置連線時間。
📊 競品分析▸ Show
平台/功能Vercel FunctionsNetlify FunctionsCloudflare Workers
執行環境Node.js, Bun (1.x)Node.js, Deno (Edge Functions)JavaScript, WebAssembly
計費模式Fluid compute (活躍 CPU 計費), 每次調用計費依使用量計費 (函數、頻寬)依使用量計費 (請求、持續時間),通常無出口頻寬費用
Next.js 優化深度優化,為 Next.js 構建支援 Next.js,但優化程度可能不如 Vercel支援 Next.js SSR 和無伺服器函數
WebSocket 支援原生支援,運行於 Fluid compute支援 (透過 Edge Functions)支援
主要優勢Next.js 深度整合,Fluid compute 提供高效能與成本效益類似 Vercel 模型,Deno Edge Functions,有時頻寬費用較低免出口頻寬費用,免費方案慷慨,全球邊緣網路

🛠️ 技術深入

  • Bun 採用 Safari 的 JavaScriptCore 引擎,而非 Node.js 和 Deno 所使用的 V8 引擎,以實現其高效能目標。
  • Bun 的原始程式碼主要以 Zig 編寫,但為了提升記憶體安全性和解決特定錯誤,已於 2026 年 5 月至 7 月間大規模重寫為 Rust。
  • 此次從 Zig 到 Rust 的重寫涉及超過 535,000 行程式碼,並在 11 天內完成,過程中大量使用了 Anthropic 的 AI 工具 Claude Code 進行翻譯和審查。
  • 重寫的主要動機是解決 Zig 手動記憶體管理導致的記憶體洩漏、use-after-free 和 double-free 等錯誤,Rust 的編譯時借用檢查器旨在預防此類問題。
  • Bun 的 WebSocket 實作是基於 uWebSockets 構建的,並提供原生的發布/訂閱 (pub-sub) API,支援即時通訊應用。
  • Vercel Functions 上的 Bun 運行於 Fluid compute 環境,該環境允許單一函數實例處理多個併發請求,並透過「活躍 CPU 計費」模式優化成本,僅對實際 CPU 執行時間收費。
  • Bun 的設計理念是作為一個一體化的 JavaScript 工具包,整合了運行時、套件管理器、打包器和測試運行器,旨在簡化開發流程並減少工具鏈碎片化。

🔮 前景展望AI analysis grounded in cited sources

AI 輔助的大規模程式碼重寫將成為軟體開發的新範式。
Bun 成功地利用 AI 工具將數十萬行 Zig 程式碼重寫為 Rust,展示了 AI 在複雜系統級程式碼遷移中的潛力,這可能促使更多專案採用類似方法來解決技術債或語言轉換。
Bun 在 Vercel Functions 上的採用將加速無伺服器環境中即時應用程式的發展。
Vercel 對 Bun.serve() 和 WebSockets 的原生支援,結合 Bun 的高效能和 Vercel Fluid compute 的活躍 CPU 計費模式,使得開發者能夠更經濟高效地部署低延遲的即時應用程式。
Bun 的 Rust 重寫將顯著提升其穩定性和長期可維護性,進一步挑戰 Node.js 的主導地位。
透過解決 Zig 時代的記憶體安全問題並利用 Rust 的強大類型系統,Bun 將變得更加健壯,這有助於其在企業級應用和關鍵基礎設施中獲得更多信任和採用。

時間線

2021-09
Bun 首次發布
2023-09
Bun 1.0 穩定版發布
2025-10
Vercel 宣布公開測試支援 Bun 運行時
2025-12
Bun 專案被 Anthropic 收購
2026-05
Bun 開始利用 AI 工具將其核心程式碼從 Zig 重寫為 Rust
2026-07
Bun 的 Zig 到 Rust 重寫完成並合併
📰

AI 週報

閱讀本週精選 AI 大事摘要 →

👉相關動態

AI 策展新聞聚合。所有內容版權歸原始發布者所有。
原始來源: Vercel News

這是摘要,不是原文。去看原站,或訂閱每週簡報。

每週 AI 簡報

每週一封,可隨時退訂。