0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Bun 1.2震撼發(fā)布:全力挑戰(zhàn)Node.js生態(tài)的JavaScript運行時新星

OSC開源社區(qū) ? 來源:OSC開源社區(qū) ? 2025-01-24 10:42 ? 次閱讀

《2024 中國開源開發(fā)者報告》正式發(fā)布

JavaScript 運行時新秀 Bun 發(fā)布 1.2 版本,這是自去年 4 月發(fā)布 1.1 以來最重要的一次更新。

fe8d8a50-d973-11ef-9310-92fbcf53809c.jpg

此次更新不僅大幅提升了與 Node.js 的兼容性,還為開發(fā)者帶來了內(nèi)置的數(shù)據(jù)庫支持和云服務(wù)集成能力,進(jìn)一步強(qiáng)化了其“全能工具包”的定位。Node.js 兼容性獲得突破性進(jìn)展在此次更新中,最引人注目的是 Bun 在 Node.js 兼容性方面取得的突破性進(jìn)展。 Bun 團(tuán)隊改變了此前被動修復(fù)問題的策略,轉(zhuǎn)而主動運行 Node.js 的測試套件來提升兼容性。 這一改變使得包括 http、crypto、dgram 等多個核心模塊的測試通過率超過 90%。特別值得一提的是,Express —— 這個廣受歡迎的 Web 框架在 Bun 中的性能提升了 3 倍,這無疑會吸引更多開發(fā)者嘗試將項目遷移到 Bun 上。

fe92e77a-d973-11ef-9310-92fbcf53809c.png

fea964be-d973-11ef-9310-92fbcf53809c.png

云原生時代的標(biāo)配:內(nèi)置數(shù)據(jù)庫與對象存儲支持

此次更新的另一大亮點是為開發(fā)者帶來了內(nèi)置的 PostgreSQL 客戶端和 S3 對象存儲支持。 這意味著開發(fā)者無需安裝額外的依賴包,就能直接與這些關(guān)鍵的云服務(wù)進(jìn)行交互。尤其是 Bun 的 S3 客戶端,其性能測試顯示比使用傳統(tǒng) AWS SDK 的 Node.js 應(yīng)用快 5 倍。這一改進(jìn)將顯著降低云原生應(yīng)用的開發(fā)門檻。

feb8bfea-d973-11ef-9310-92fbcf53809c.png

feca0462-d973-11ef-9310-92fbcf53809c.png

包管理器也要與時俱進(jìn)

作為一個全能型工具包,Bun 的包管理功能也獲得了重要升級。最顯著的變化是將默認(rèn)的二進(jìn)制鎖文件(bun.lockb)改為文本格式的 bun.lock。 這一改變雖然看似簡單,但解決了代碼審查、版本控制和沖突解決等實際問題。更值得注意的是,盡管切換到了文本格式,新版本的 bun install 性能反而提升了 30%,這體現(xiàn)了 Bun 團(tuán)隊在性能優(yōu)化方面的執(zhí)著。

fef2aef8-d973-11ef-9310-92fbcf53809c.png

ff01b3c6-d973-11ef-9310-92fbcf53809c.png

測試運行器更進(jìn)一步

Bun 的內(nèi)置測試運行器在此次更新中也得到加強(qiáng),新增了 JUnit 和 LCOV 報告支持,這使得它更容易集成到現(xiàn)有的 CI/CD 流程中。此外,新增的內(nèi)聯(lián)快照測試等特性,也讓測試體驗更接近主流測試框架如 Jest。

性能持續(xù)領(lǐng)先

作為以性能著稱的 JavaScript 運行時,Bun 1.2 在多個方面都實現(xiàn)了顯著的性能提升。從 HTTP/2 服務(wù)器到文件系統(tǒng)操作,從 JSON 解析到控制臺輸出,幾乎每個常用操作都變得更快。 特別是在 Windows 平臺上,JavaScript 執(zhí)行性能獲得了全面提升,這表明 Bun 正在努力填補(bǔ)其在 Windows 支持方面的短板。

展望未來

通過這次更新,Bun 展示了其在全棧開發(fā)工具鏈中的野心。從更完善的 Node.js 兼容性到云服務(wù)的原生支持,從更快的包管理到更強(qiáng)大的測試工具,Bun 正在將自己打造成一個真正的全能型開發(fā)工具包。特別是在云原生開發(fā)方面的創(chuàng)新,顯示出 Bun 團(tuán)隊對未來開發(fā)趨勢的敏銳把握。 然而,挑戰(zhàn)依然存在。盡管 Node.js 兼容性有了顯著提升,但距離完全兼容仍有距離。同時,如何在保持高性能的同時確保穩(wěn)定性,也將是 Bun 團(tuán)隊需要持續(xù)面對的挑戰(zhàn)。 總的來說,Bun 1.2 的發(fā)布展示了這個項目的快速發(fā)展勢頭,也證明了 JavaScript 生態(tài)系統(tǒng)仍有巨大的創(chuàng)新空間。 對于開發(fā)者來說,現(xiàn)在可能是一個合適的時機(jī)來認(rèn)真評估 Bun 是否適合自己的項目需求。 畢竟,在性能、開發(fā)體驗和云原生支持等方面,Bun 已經(jīng)展現(xiàn)出了獨特的優(yōu)勢。 相關(guān)來源https://bun.sh/blog/bun-v1.2

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • javascript
    +關(guān)注

    關(guān)注

    0

    文章

    525

    瀏覽量

    53927
  • NODE.JS
    +關(guān)注

    關(guān)注

    1

    文章

    48

    瀏覽量

    32801

原文標(biāo)題:全面進(jìn)擊的JavaScript運行時:Bun 1.2重磅發(fā)布,劍指Node.js生態(tài)

文章出處:【微信號:OSC開源社區(qū),微信公眾號:OSC開源社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    SciChart—高性能的JavaScript圖表和圖形庫

    使用 SciChart 的 JavaScript 圖表庫為您的 JS 應(yīng)用程序發(fā)現(xiàn)終極解決方案。 使用 WebGL 創(chuàng)建動態(tài)、高速的圖表和圖形,非常適合實時處理復(fù)雜的數(shù)據(jù)可視化。使用我們強(qiáng)大而靈活
    的頭像 發(fā)表于 01-22 10:15 ?69次閱讀
    SciChart—高性能的<b class='flag-5'>JavaScript</b>圖表和圖形庫

    Node.js小科普和Node.js安裝常見管理工具

    Node.js是一個JavaScript運行環(huán)境,用來執(zhí)行JavaScript代碼。 為什么會出現(xiàn)這么一個運行環(huán)境呢,從
    的頭像 發(fā)表于 11-23 15:37 ?156次閱讀
    <b class='flag-5'>Node.js</b>小科普和<b class='flag-5'>Node.js</b>安裝常見管理工具

    前端技術(shù)探秘-Nodejs的CommonJS規(guī)范實現(xiàn)原理

    了解Node.js Node.js是一個基于ChromeV8引擎的JavaScript運行環(huán)境,使用了一個事件驅(qū)動、非阻塞式I/O模型,讓JavaS
    的頭像 發(fā)表于 11-05 11:56 ?851次閱讀
    前端技術(shù)探秘-Nodejs的CommonJS規(guī)范實現(xiàn)原理

    影響逆變器電池狀態(tài)的原因,整體運行時

    逆變器的使用需要了解影響電池性能和整體運行時間的因素。讓我們深入探討最大化電源設(shè)置的關(guān)鍵考慮因素。逆變器效率:逆變器的效率至關(guān)重要。當(dāng)逆變器將電池的DC電能轉(zhuǎn)換為交流
    的頭像 發(fā)表于 10-18 10:41 ?363次閱讀
    影響逆變器電池狀態(tài)的原因,整體<b class='flag-5'>運行時</b>間

    C2000?MCU的運行時堆棧大小監(jiān)測

    電子發(fā)燒友網(wǎng)站提供《C2000?MCU的運行時堆棧大小監(jiān)測.pdf》資料免費下載
    發(fā)表于 09-11 09:30 ?0次下載
    C2000?MCU的<b class='flag-5'>運行時</b>堆棧大小監(jiān)測

    工程師必備!Node.js和常見管理工具介紹(附操作演示)

    語言及其相關(guān)生態(tài)中的一些基礎(chǔ)而關(guān)鍵的概念,以及它們是如何在互聯(lián)網(wǎng)歷史浪潮中產(chǎn)生的。一JavaScriptNode.js1JavaScriptJavaScript,即JS,
    的頭像 發(fā)表于 08-30 12:34 ?347次閱讀
    工程師必備!<b class='flag-5'>Node.js</b>和常見管理工具介紹(附操作演示)

    直線電機(jī)在運行時噪音大不大

    眾所周知,直線電機(jī)采用了簡化的結(jié)構(gòu)設(shè)計,沒用中間的傳動機(jī)構(gòu),能夠減少振動和共振,使得運行時的噪音得到了較好地控制。 直線電機(jī)的主要原材料是磁鐵和銅線,由此也能看出,它的工作原理是基于磁懸浮技術(shù),而磁懸浮技術(shù)
    的頭像 發(fā)表于 08-12 11:37 ?481次閱讀
    直線電機(jī)在<b class='flag-5'>運行時</b>噪音大不大

    三菱plc累計運行時間怎么編程

    具有重要意義。本文將詳細(xì)介紹如何使用三菱PLC編程實現(xiàn)累計運行時間的統(tǒng)計功能。 一、概述 累計運行時間是指設(shè)備或系統(tǒng)在一定時間內(nèi)的總運行時間。在工業(yè)生產(chǎn)中,對設(shè)備的累計運行時間進(jìn)行統(tǒng)計
    的頭像 發(fā)表于 06-20 11:31 ?2497次閱讀

    變頻器帶動電機(jī)運行時發(fā)抖的原因及處理方法

    變頻器作為現(xiàn)代工業(yè)控制領(lǐng)域的重要設(shè)備,廣泛應(yīng)用于電機(jī)調(diào)速控制中。然而,在實際應(yīng)用中,有時會遇到變頻器帶動電機(jī)運行時產(chǎn)生抖動的問題。這種抖動不僅影響電機(jī)的正常運行,還可能對生產(chǎn)效率和設(shè)備壽命造成
    的頭像 發(fā)表于 05-31 14:43 ?5986次閱讀

    如何在運行時從HSM對SWAP UCB進(jìn)行編程?

    我使用的是 AURIX TC397 開發(fā)板,可以在運行時從 Tricore 域?qū)?SWAP UCB 進(jìn)行編程,但無法從 HSM 域進(jìn)行編程。 我需要這種功能,以便在固件更新后交換存儲庫。 是否有我
    發(fā)表于 05-31 06:37

    鴻蒙開發(fā)接口公共事件與通知:【FFI能力(Node-API)】

    Node-API是封裝底層JavaScript運行時能力的一套Native接口。OpenHarmony的N-API組件對Node-API的接口進(jìn)行了重新實現(xiàn),ArkUI-X同樣擁有這部
    的頭像 發(fā)表于 05-21 16:38 ?1027次閱讀
    鴻蒙開發(fā)接口公共事件與通知:【FFI能力(<b class='flag-5'>Node</b>-API)】

    STM8S在IAR軟件仿真Simulator怎么查看運行時間?

    STM8S 在IAR軟件仿真Simulator怎么查看運行時間?在某些芯片通信時,會要求延時5us,10us,150ms等,這些延時不需要太精確,只要大概就好,但怎么在Simulator仿真里能通過斷點查看,即兩個斷點之間的運行時間呢? 除了通過IO輸出外圍用儀器測試,能
    發(fā)表于 05-09 07:48

    stm32cubeIDE代碼運行時間如何查看?

    stm32cubeIDE 代碼運行時間,如何查看?就如 keil 調(diào)試時候那樣,可以測試代碼的運行時間。但是在stm32cubeIDE 中,一直沒有找到這個功能,不知道哪位高人可以提示下在哪里查看的?
    發(fā)表于 04-16 08:10

    鴻蒙開發(fā)實戰(zhàn):網(wǎng)絡(luò)請求庫【axios】

    [Axios]?,是一個基于 promise 的網(wǎng)絡(luò)請求庫,可以運行 node.js 和瀏覽器中。本庫基于[Axios]原庫v1.3.4版本進(jìn)行適配,使其可以運行在 OpenHarmony,并沿用其現(xiàn)有用法和特性。
    的頭像 發(fā)表于 03-25 16:47 ?4010次閱讀
    鴻蒙開發(fā)實戰(zhàn):網(wǎng)絡(luò)請求庫【axios】

    鴻蒙語言ArkTS(更好的生產(chǎn)力與性能)

    風(fēng)格的基礎(chǔ)上,進(jìn)一步通過規(guī)范強(qiáng)化靜態(tài)檢查和分析,使得在程序運行之前的開發(fā)期能檢測更多錯誤,提升代碼健壯性,并實現(xiàn)更好的運行性能。 針對JavaScript(簡稱JS)/TS并發(fā)能力支持
    發(fā)表于 02-17 15:56