Bun 1.3 iepako PostgreSQL, MySQL, MariaDB un SQLite klientus vienā izpildāmajā failā, bez atsevišķām npm atkarībām. Iebūvētais Redis klients, pēc InfoQ apraksta, strādā vairāk nekā 7,9 reizes ātrāk par ioredis pakotni. Tas maina to, kā izskatās tipiska Node servera projekta atkarību koks: vietā, kur agrāk bija pg, mysql2 un ioredis, tagad ir viena API.
Runtime ir programma, kas izpilda JavaScript un TypeScript kodu ārpus pārlūka. Node.js šo lomu turēja gandrīz 15 gadus. Bun un Deno to apstrīd, un 2026. gada laidieni parāda, cik tālu abi jaunpienācēji ir tikuši.
Datubāzes bez atkarībām
Bun.SQL ir viena API četrām SQL datubāzēm. Vaicājumus raksta ar tagged template literāļiem, un tas pats sintakses paraugs strādā gan PostgreSQL, gan MySQL, gan SQLite savienojumam. Parametri tiek automātiski eskeipoti, tāpēc SQL injekcijas risks samazinās bez papildu bibliotēkas. PostgreSQL pieslēgumu Bun atbalsta gan caur TCP, gan caur unix ligzdu.
Redis klients ienāk kā otra iebūvētā daļa. Kombinācijā ar SQLite dzini, kas Bun sanāk kā bun:sqlite modulis, tipisks backend var startēt bez viena instalēta datubāzes draivera. Tas saīsina gan instalāciju, gan konteinera izmēru.
Viens binārais fails satur skriptu palaidēju, pakotņu pārvaldnieku, testu ietvaru, bundleri un tagad arī datubāzu klientus. Atsevišķi rīki, ko Node ekosistēmā uzstāda pa gabaliem, Bun gadījumā jau ir iekšā.
Frontend bez konfigurācijas
Bun tagad palaiž HTML failu tieši. Komanda norāda uz index.html, un dzinis pats apstrādā JavaScript, CSS un React transpilāciju. Izstrādes serverim ir hot module replacement un React Fast Refresh, bet failu izmaiņas tas seko caur platformas API — kqueue macOS un inotify Linux vidē. Tas nozīmē, ka mazam projektam nav vajadzīgs atsevišķs Vite vai webpack solis.
Šī pieeja der prototipiem un maziem rīkiem. Lielākiem projektiem ar sarežģītu build konveijeru specializētie bundleri joprojām dod vairāk kontroles, tāpēc Bun frontend serveris drīzāk aizvieto konfigurācijas boilerplate, nevis nobriedušu build sistēmu.
Kas jauns pēdējos laidienos
Versija 1.3.13 (aprīlī) pievienoja testu paralelizāciju: bun test tagad pieņem karogus --parallel, --isolate, --shard un --changed. Pēdējais palaiž tikai tos testus, kurus skar izmaiņas — noderīgi lielās repozitorijās. Tajā pašā laidienā bun install straumē tarball failus uz disku ar 17 reizes mazāku atmiņas patēriņu, sourcemap apstrāde sarūk 8 reizes, un gzip kļūst 5,5 reizes ātrāks.
Versija 1.3.14 (maijā) ienesa Bun.Image attēlu apstrādei tieši dzinī, plus eksperimentālu HTTP/2 un HTTP/3 atbalstu. Siltā instalācija, izmantojot izolētā linkera globālo krātuvi, kļuva 7 reizes ātrāka. Kopā šis laidiens aizvēra 92 problēmas. Nedaudz agrāk 1.3.12 pievienoja Bun.WebView galvas režīma pārlūka automatizācijai un iekšprocesa Bun.cron() plānotāju.
Ātrums un atmiņa
Skaitļi ir Bun galvenais arguments. Neatkarīgā daily.dev salīdzinājumā Bun 1.3 sasniedz aptuveni 110 000 HTTP pieprasījumu sekundē, Deno 2.6 — ap 85 000, bet Node.js 24 — ap 45 000. SQLite ievietošanas testā 10 000 rindu Bun apstrādā 12 milisekundēs, Deno — 45, Node — 88. Auksto startu Bun veic 8–15 ms robežās pret Node 60–120 ms.
Node tomēr nav atpalicis visur. Tajā pašā testā React servera renderēšanā (CPU intensīvs darbs) Node dod 4200 operācijas sekundē pret Bun 4150 — praktiski neatšķirami. Bun pārsvars ir I/O smagos scenārijos: HTTP serveri, datubāzu vaicājumi, failu darbs.
Bun 1.3 pati par sevi samazināja JavaScript atmiņas patēriņu par 10–30% ietvaros kā Next.js un Elysia, AbortSignal.timeout kļuva 40 reizes ātrāks, un build laiks macOS uzlabojās par 60%. Express etalonuzdevumos uzlabojums ir 9%, Fastify — 5,4%.
Kad izvēlēties Bun
Node saderība ir bijusi Bun vājā vieta, un tieši tur pēdējie laidieni strādā visvairāk. Jau ar Bun 1.2 dzinis pievienoja plašāku Node API atbalstu, ko InfoQ dokumentēja, un 1.3 sērija turpina slēgt atlikušās nesaderības. Praksē tas nozīmē, ka daudzi esošie npm projekti tagad palaižas bez izmaiņām.
Ja projekts ir I/O smags API serveris, kur svarīgi ātri starti un mazs konteiners, Bun dod taustāmu ieguvumu. Ja kods balstās uz specifiskām C++ Node paplašinājumu bibliotēkām vai nobriedušu build konveijeru, pāreja prasa pārbaudi. Deno paliek atsevišķa izvēle tiem, kam svarīga iebūvēta drošības atļauju sistēma un TypeScript pēc noklusējuma.
Bun 1.3.14 ar tā 92 aizvērtajām problēmām rāda tempu: laidieni iznāk ik pāris nedēļas, un katrs pievieno funkciju, kas Node ekosistēmā prasītu atsevišķu pakotni. Kurš runtime izpildīs tavu nākamo servisu, 2026. gadā vairs nav pašsaprotams.
Komentāri
Šim rakstam vēl nav komentāru. Esi pirmais, kurš dalās ar savu viedokli.