วันนี้แนะนำ Fastify ซึ่งเป็น web framework พัฒนาสำหรับ Node.JS
เป็นตระกูลเดียวกับ express, koa, hapi นั่นเอง
มีเป้าหมายเพื่อ

  • เป็นมิตรกับนักพัฒนามากขึ้น นั่นคือเพิ่ม productivity
  • ลดการใช้ทรัพยากรต่าง ๆ ลงไป เพื่อลดค่าใช้จ่ายของ infrastructure ลง
  • มีประสิทธิภาพการทำงานที่สูง เมื่อเทียบกับ framework อื่น ๆ
  • มี overhead การทำงานที่ต่ำลง
  • มีระบบ plugin ที่ดี

โดยที่มีแรงบันดาลใจมาจาก express และ hapi

6 ความสามารถหลักของ Fastify

  1. ตามชื่อเลยคือ ความเร็ว ซึ่ง hello world projectรองรับได้มากกว่า 30,000 request/sec
  2. สามารถเพิ่มส่วนต่อขยายได้ง่าย ทั้ง hook, plugin และ decorator
  3. ใช้ JSON Schema ในการตรวจสอบ routing ต่าง ๆ รวมทั้งการ serialize output ซึ่งช่วยเพิ่มประสิทธิภาพของการทำงาน
  4. Logging จะใช้งาน pino ซึ่งทั้งเร็ว เล็ก แรงส์
  5. เป้าหมายเพื่อเป็นมิตรต่อมักพัฒนา ทั้งความเร็วและความปลอดภัย
  6. ถึงจะไม่ใช่ framework ที่พัฒนาด้วย TypeScript แต่ก็สนับสนุน TypeScript เต็มที่

ตัวอย่างของ code ในการทดสอบ performance

ลองยิงขำ ๆ บนเครื่อง Mac ได้แค่นี้

มาลองใช้งานกัน