9 คะแนน โดย GN⁺ 2025-10-19 | 5 ความคิดเห็น | แชร์ทาง WhatsApp
  • Bun 1.3 เป็นรีลีสครั้งใหญ่ที่พัฒนาต่อยอดเป็น รันไทม์ JavaScript แบบฟูลสแตกที่รองรับทั้งการพัฒนาฝั่งฟรอนต์เอนด์และแบ็กเอนด์
  • รวมความสามารถสำคัญไว้ในตัว เช่น เซิร์ฟเวอร์พัฒนาฟรอนต์เอนด์ในตัว ที่มี React และ CSS bundling รวมถึง ไคลเอนต์สำหรับ MySQL·PostgreSQL·SQLite·Redis
  • รองรับ การคอมไพล์เป็นไฟล์รันได้ไฟล์เดียว ผ่าน bun build พร้อม code signing และ cross compilation เพื่อให้การดีพลอยสะดวกขึ้น
  • ตัวจัดการแพ็กเกจเพิ่มความสามารถสำหรับโมโนรีโปขนาดใหญ่ เช่น isolated installs, Security Scanner API, และ catalog ของ dependency
  • มีการปรับปรุงครั้งใหญ่แทบทุกด้าน ไม่ว่าจะเป็น test runner, Web API, ความปลอดภัย, ความเข้ากันได้กับ Node.js และประสิทธิภาพ ทำให้ก้าวสู่การเป็น “แพลตฟอร์มรันไทม์ที่สมบูรณ์”

การรวมรันไทม์แบบฟูลสแตก

  • Bun 1.3 รวมความสามารถสำหรับการพัฒนาแบบฟูลสแตก เช่น การรัน HTML, routing, hot reload และ WebSocket เข้าไว้ใน Bun.serve()
    • รองรับ React Fast Refresh และ native HMR
    • รวมเซิร์ฟเวอร์แบ็กเอนด์และฟรอนต์เอนด์ไว้ในโปรเซสเดียว เพื่อ แก้ปัญหา CORS ที่ต้นเหตุ
  • ใช้ bun build --compile เพื่อ bundle ฟรอนต์เอนด์และแบ็กเอนด์เป็นไฟล์รันได้ไฟล์เดียว ได้

รองรับฐานข้อมูลและ Redis

  • Bun.SQL รวมการรองรับ MySQL·MariaDB·PostgreSQL·SQLite ไว้ภายใต้ API เดียว
    • ใช้งาน PostgreSQL array type ได้สะดวกผ่าน helper sql.array
    • ปรับปรุงรายละเอียดเพิ่มเติม เช่น การเชื่อมต่อผ่าน Unix domain socket, simple query protocol และการจัดการ null
  • เพิ่ม Redis client ในตัว, ประสิทธิภาพสูงกว่า ioredis ได้สูงสุด 7.9 เท่า และรองรับ Pub/Sub อย่างสมบูรณ์

ความสามารถด้าน bundler และการ build

  • ใช้ API Bun.build() เพื่อ สร้างไฟล์รันได้จากภายในโค้ด ได้
  • รองรับ code signing (macOS·Windows), cross compilation (Linux/macOS/Windows) และ การกำหนด metadata
  • มี minifier ที่ฉลาดขึ้น สำหรับลบโค้ดที่ไม่ได้ใช้ รองรับตัวเลือกการตั้งค่า JSX และรูปแบบ Glob

ขยายความสามารถของการจัดการแพ็กเกจ

  • เปิดใช้ Isolated installs เป็นค่าเริ่มต้น โดยแต่ละ workspace จะเข้าถึงได้เฉพาะ dependency ของตนเอง
  • ฟีเจอร์ Catalog สำหรับจัดการเวอร์ชัน dependency แบบศูนย์กลางภายในโมโนรีโป
  • เพิ่ม Security Scanner API และ minimumReleaseAge เพื่อเสริมการป้องกันการโจมตีซัพพลายเชน
  • มีเครื่องมือจัดการระดับ npm·pnpm ครบถ้วน เช่น bun why, bun update --interactive, bun info, bun audit

การปรับปรุงด้านการทดสอบและดีบัก

  • bun test เพิ่ม การเชื่อมต่อกับ VS Code Test Explorer, การทดสอบแบบขนาน (test.concurrent), การรันแบบสุ่ม และ type test (expectTypeOf)
  • รองรับ chain .failing, .serial, .each และ คงการเยื้องของ snapshot อัตโนมัติ
  • ป้องกันการใช้ test.only ในสภาพแวดล้อม CI และ เพิ่มความสม่ำเสมอของลำดับการทดสอบ

เสริมมาตรฐาน Web API และรันไทม์

  • มี YAML parsing/serialization ในตัว และสามารถ import ไฟล์ .yaml ได้โดยตรง
  • รองรับ การจัดการคุกกี้อัตโนมัติ ผ่าน API request.cookies
  • รองรับ stream helper เช่น ReadableStream .text()/.json(), การบีบอัด Zstandard และ การโหลด WebAssembly แบบสตรีมมิง
  • ติดตั้งใช้งาน DisposableStack/AsyncDisposableStack เพื่อให้การจัดการและคืนทรัพยากรง่ายขึ้น

ความปลอดภัยและความสามารถระดับระบบ

  • ใช้ Bun.secrets เพื่อเข้าถึง secure storage ของระบบปฏิบัติการ (เช่น Keychain) ได้
  • มี Bun.CSRF สำหรับ API สร้างและตรวจสอบ CSRF token
  • โมดูล crypto เร็วขึ้น 400 เท่า, พร้อมการปรับปรุง Diffie-Hellman, HKDF และการคำนวณ Prime

ความเข้ากันได้กับ Node.js ที่ดีขึ้น

  • ผ่านการทดสอบของ Node.js เพิ่มอีกกว่า 800 รายการ และขยายการรองรับ node:test, node:vm, worker_threads, fs, http2 อย่างมาก
  • รองรับคอร์โมดูลส่วนใหญ่ได้สมบูรณ์ เช่น require.extensions, process.binding(), การควบคุม native addon, perf_hooks, tls, cluster
  • ความเข้ากันได้ของ N-API สูงกว่า 98% และระบุรันไทม์ในระดับเดียวกับ Node.js 24.3.0

การปรับปรุงประสบการณ์นักพัฒนา

  • เปลี่ยนค่าตั้งต้นของ TypeScript ("module": "Preserve")
  • เพิ่มการควบคุมรันไทม์ผ่าน ตัวแปรสภาพแวดล้อม BUN_OPTIONS, --console-depth, --user-agent
  • รองรับ preload script (BUN_INSPECT_PRELOAD) และ SQL Preconnect
  • ปรับปรุง bunx ให้รันได้แม้ชื่อแพ็กเกจกับชื่อไบนารีไม่ตรงกัน

ประสิทธิภาพและความเสถียร

  • ลดการใช้ CPU ขณะ idle, เพิ่มประสิทธิภาพ GC, ลดหน่วยความจำ 10~30%, เพิ่มความเร็วการ build 60%
  • postMessage เร็วขึ้นสูงสุด 500 เท่า, bun install เร็วขึ้น 2.5 เท่า, Array.includes เร็วขึ้น 2.8 เท่า
  • การปรับแต่งระดับ WebKit·Zig ช่วยเพิ่มความเร็วโดยรวมของรันไทม์
  • แก้ไข บั๊กหลายร้อยรายการ และ memory leak ทำให้เสถียรภาพดีขึ้นอย่างมาก

การเปลี่ยนแปลงสำคัญ

  • โครงสร้าง type ของ Bun.serve() เปลี่ยน และเปลี่ยนชื่อจาก static เป็น routes
  • รูปแบบการเรียกใช้ SQL client เปลี่ยนจาก แบบฟังก์ชัน → tagged template
  • สัญญาณ GC บน Linux เปลี่ยนเป็น SIGPWR
  • เปลี่ยนการแสดงเวอร์ชัน Node.js จาก 22.x → 24.3.0

Bun 1.3 เป็นจุดเปลี่ยนจากการเป็นเพียงรันไทม์ สู่ “แพลตฟอร์มแบบบูรณาการที่ครอบคลุม Node·Deno·Vite·pnpm”

5 ความคิดเห็น

 
tsboard 2025-10-20

แม้จะลองใช้แค่แป๊บเดียว แต่จากที่ได้ใช้มาตั้งแต่ช่วงแรกก็รู้สึกว่าพัฒนาไปไกลมาก จนทำให้นึกเลยว่า หรือจะลองใช้อีกสักรอบดีนะ 555

 
kissdesty 2025-10-20

หวังว่าถ้าพัฒนาต่อไปได้ดี ก็น่าจะดีนะครับ

 
truestar 2025-10-20

มีแผนแบบนี้อยู่ด้วยสินะ!!

 
click 2025-10-20

ชอบที่อินเทอร์เฟซ SQL ถูกทำให้เป็นแบบเดียวกัน

 
shakespeares 2025-10-19

น่าจะมีเหตุผลที่ Vite ยังไม่รวมเข้าด้วยกัน เลยอยากรู้ว่า Bun มีฟีดแบ็กจากการใช้งานจริงเป็นอย่างไรบ้างครับ