เห็นว่า Bun 1.0 เพิ่มปล่อยออกมา
ก็เลยมาทำการสรุปประสบการณ์
ในการนำ Bun ไปพัฒนาระบบงานเล็ก ๆ ไว้นิดหน่อย
ซึ่งก็สามารถส่งมอบระบบงานได้ดีเลย
มาดูกันว่าใช้อะไรบ้าง

ก่อนอื่นต้องทำความเข้าใจก่อนว่า
Bun นั้นเป็นเครื่องมือเดียวที่มีครบเลย ไม่ว่าจะเป็น

  • สามารถพัฒนาด้วย JavaScript และ TypeScript
  • สนับสนุน .env ให้เลย
  • การจัดการ dependency ต่าง ๆ ให้ ซึ่งทำงานร่วมกับ package manager อื่น ๆ ได้เลย
  • จัดการ transpiler ให้
  • ทำ bundler ให้ แล้วเร็วกว่าตัวอื่น ๆ อีก
  • มี bunx เหมือนกับ npx แต่เร็วกว่า
  • มี testing library ให้ ซึ่ง compatible กับ Jest ทำให้ใช้ได้เหมือนกัน
  • มี hot reload ให้
  • สามารถเขียน plugin เพื่อเพิ่มความสามารถได้

Bun มีชุดดของ build-in library ที่มีประสิทธิภาพอย่างมาก

ตัวที่ใช้ประจำคือ Bun.serve() สำหรับการสร้าง HTTP server และ Web socket server
มีประสิทธิภาพที่สูงมาก ๆ ซึ่งเคยเขียนอธิบายไว้แล้ว

ส่วนการติดต่อ database นั้นจะมี SQLite มาให้เลย
ถ้าต้องการใช้งาน database อื่น ๆ ก็มี
เช่นตัวที่ใช้งานประกอบไปด้วย

เขียน HTTP Server แบบง่าย ๆ

ในการส่งมอบระบบงานนั้นจะใช้งานผ่าน Docker
ซึ่งทำการใช้งาน based image จาก Oven/Bun

และจะทำการ build ระบบงานออกมาเป็น single exeutable binary
ทำให้การส่งมอบง่ายขึ้น

ส่วนการทดสอบก็เขียนง่าย ๆ

ลองใช้งานกันดูครับ สะดวกดี

# Install using curl
curl -fsSL https://bun.sh/install | bash

# Install using npm
npm install -g bun

# Install using Docker (New!)
docker pull oven/bun:latest

# Upgrade
bun upgrade

อีกทั้งยังมีการสรุป framework และเครื่องมือต่าง ๆ ของ Bun ไว้ที่ Awesome-bun

ขอให้สนุกกับการ coding