Bun 1.4 гарлаа: Zig-ээс Rust руу бүрэн шилжиж, headless WebView ба шинэ API-ууд танилцуулагдлаа
JavaScript болон TypeScript экосистемийн хамгийн хурдан runtime гэгддэг Bun төсөл 1.4 хувилбараа албан ёсоор танилцууллаа. Энэхүү хувилбар нь зүгээр нэг жижиг засваруудын цуглуулга биш, харин тус платформын түүхэн дэх хамгийн том инженерийн шийдлийг багтаасан томоохон үсрэлт болж байна. Үүсгэн байгуулагдсан цагаасаа хойш Zig хэлээр бичигдэж байсан Bun-ий гол цөмийг Rust хэл рүү бүрэн хөрвүүлж дахин бичсэн нь хөгжүүлэгчдийн анхаарлыг хамгийн ихээр татаж байна.
Zig-ээс Rust руу: Яагаад чиглэлээ өөрчлөв?
Bun анх гарч ирэхдээ Zig хэлийг сонгосон нь санах ойн дээд зэргийн менежмент, C++ түвшний хурд, бага нөөц ашиглах зорилготой байв. Гэвч бүтээгдэхүүний цар хүрээ тэлж, enterprise түвшний олон зуун сая хүсэлтийг алдаагүй боловсруулах, асар том нээлттэй эхийн сангуудтай интеграц хийх шаардлага тулгарах тусам Rust хэлний давуу талууд улам бүр үгүйлэгдэх болсон юм.
Rust-ийн borrow checker буюу санах ойн аюулгүй байдлыг compile хийх үед нь баталгаажуулдаг бүтэц, өргөн хүрээтэй package экосистем, мөн зэрэгцээ ажиллагааны (concurrency) найдвартай систем нь төслийн урт хугацааны тогтвортой байдлыг хангахад нэн шаардлагатай байв. Энэхүү шилжилтийн үр дүнд 2,900 гаруй хуучин алдаа (issue) нэгэн зэрэг шийдэгдэж, санах ойн санамсаргүй leakage болон concurrency-аас үүдэлтэй crash бүрэн арилсан байна.
Bun 1.4-ийн гол шинэ боломжууд: Headless WebView, Image, Markdown
Bun 1.4 зөвхөн хэлний өөрчлөлтөөр хязгаарлагдсангүй, хөгжүүлэгчдийн өдөр тутмын ажилд хэрэгцээт олон төрлийн үйлдлийг runtime-ийн түвшинд шууд багтаажээ.
Bun.WebView(Headless Browser): Puppeteer эсвэл Playwright зэрэг хүнд хэмжээний Chromium багцуудыг суулгах шаардлагагүй боллоо. Вэб хуудсыг scrape хийх, PDF үүсгэх, дэлгэцийн агшин авах зэрэг үйлдлийг Bun-д суурилсан хөнгөн жинтэй headless browser API-аар шууд удирдах боломжтой болов.Bun.Image: Дүрсний хэмжээ өөрчлөх, формат хөрвүүлэх (WebP, AVIF, PNG), шахах үйлдлүүдийгsharpзэрэг нэмэлт C-бингүүдгүйгээр, өндөр хурдаар native түвшинд гүйцэтгэнэ.Bun.markdown: Markdown болон CommonMark текстийг хурдан хугацаанд parse хийж, HTML рүү хөрвүүлэх өндөр хүчин чадалтай суурилагдсан шийдэл.- Суурилагдсан Cron ба Terminal API: Хуваарьт даалгавруудыг
Bun.cron-оор удирдах, консолын интерфейсийг загварчлах шинэ стандартууд нэмэгдсэн байна.
// Headless WebView ашиглан хуудас татаж screenshot авах жишээ
import { serve } from "bun";
const view = await Bun.WebView.open("https://news.ycombinator.com");
await view.waitForSelector(".athing");
const screenshot = await view.screenshot({ format: "webp" });
await Bun.write("hackernews.webp", screenshot);
await view.close();
Node.js нийцтэй байдал ба 7 дахин хурдан багц суулгалт
Bun-ийн хамгийн том амлалт нь Node.js-ийн бүтэн орлуулагч байх явдал бөгөөд 1.4 хувилбараар энэ зорилтдоо улам ойртжээ. Шинэ runtime нь Node.js 26 стандартын дагуу 1,500 гаруй тестийг шинээр амжилттай давсан бөгөөд өмнө нь ажилладаггүй байсан хүнд хүчир npm багцууд шууд ямар нэг тохиргоогүйгээр ажилладаг боллоо.
Мөн bun install коммандд шинэ Global Virtual Store загвар нэвтэрчээ. Төсөл болгонд node_modules хавтсыг дахин дахин хуулахын оронд төвлөрсөн кэшээс hard link болон reflink ашиглан татдаг болсноор багц суулгах хугацаа 3-7 дахин хурдасч, дискний зайг асар ихээр хэмнэхээр болсон байна.
Vercel Functions-ийн албан ёсны дэмжлэг
Хувилбар зарлагдсантай зэрэгцэн Vercel платформ Bun 1.4-ийг өөрийн Serverless & Fluid Compute дэд бүтцэд шууд ажиллуулах дэмжлэгийг нэвтрүүллээ. vercel.json файлд ердөө {"bunVersion": "1.4.x"} гэж зааж өгөхөд л Next.js, Elysia, Hono зэрэг фрэймворк дээр суурилсан Edge/Serverless функцүүд Bun 1.4-ийн хурдаар, Active CPU pricing нөхцөлөөр секундын дотор асах (cold start) боломжтой болсон юм.
{
"$schema": "https://openapi.vercel.sh/vercel.json",
"bunVersion": "1.4.x"
}
Дүгнэлт: Хөгжүүлэгчдэд өгөх ач холбогдол
Bun 1.4-ийн гаргасан энэхүү өөрчлөлт нь орчин үеийн JavaScript хөгжүүлэлтийн экосистемд маш чухал дохио өгч байна. Нэгдүгээрт, томоохон системийн программ хангамж хөгжүүлэлтэд Rust хэлний экосистем, аюулгүй байдал ямар чухал хүчин зүйл болохыг харууллаа. Хоёрдугаарт, вэб хөгжүүлэгчид дүрс боловсруулах, headless browser ажиллуулах, багц удирдах зэрэг тусдаа хэрэгслүүдийг тусгайлан тохируулах шаардлагагүйгээр нэг runtime дотроос бүгдийг авч, бүтээмжээ эрс нэмэгдүүлэх боломж бүрдлээ.
Хэрэв та backend эсвэл full-stack систем дээрээ хурд, санах ойн үр ашиг, зардал хэмнэлтийг эрэлхийлж байгаа бол Bun 1.4 хувилбарыг туршиж үзэх цаг нь иржээ.
Эх сурвалж: Bun Official Engineering Blog, Vercel Changelog
Сэтгэгдэл
Ачаалж байна...