Quantcast
Channel: cc :: somkiat
Viewing all articles
Browse latest Browse all 1997

สรุปการใช้งาน Bun ในการพัฒนาระบบงาน

$
0
0

เห็นว่า 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 แบบง่าย ๆ

[gist id="9ef53a2b4114ee1f73444b1e9e5947d8" file="index.ts"]

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

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

[gist id="9ef53a2b4114ee1f73444b1e9e5947d8" file="Dockerfile"]

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

[gist id="9ef53a2b4114ee1f73444b1e9e5947d8" file="my_test.ts"]

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

[code] # 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 [/code]

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

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


Viewing all articles
Browse latest Browse all 1997

Trending Articles