วันนี้แนะนำ Fastify ซึ่งเป็น web framework พัฒนาสำหรับ Node.JS
เป็นตระกูลเดียวกับ express, koa, hapi นั่นเอง
มีเป้าหมายเพื่อ
- เป็นมิตรกับนักพัฒนามากขึ้น นั่นคือเพิ่ม productivity
- ลดการใช้ทรัพยากรต่าง ๆ ลงไป เพื่อลดค่าใช้จ่ายของ infrastructure ลง
- มีประสิทธิภาพการทำงานที่สูง เมื่อเทียบกับ framework อื่น ๆ
- มี overhead การทำงานที่ต่ำลง
- มีระบบ plugin ที่ดี
โดยที่มีแรงบันดาลใจมาจาก express และ hapi
6 ความสามารถหลักของ Fastify
- ตามชื่อเลยคือ ความเร็ว ซึ่ง hello world projectรองรับได้มากกว่า 30,000 request/sec
- สามารถเพิ่มส่วนต่อขยายได้ง่าย ทั้ง hook, plugin และ decorator
- ใช้ JSON Schema ในการตรวจสอบ routing ต่าง ๆ รวมทั้งการ serialize output ซึ่งช่วยเพิ่มประสิทธิภาพของการทำงาน
- Logging จะใช้งาน pino ซึ่งทั้งเร็ว เล็ก แรงส์
- เป้าหมายเพื่อเป็นมิตรต่อมักพัฒนา ทั้งความเร็วและความปลอดภัย
- ถึงจะไม่ใช่ framework ที่พัฒนาด้วย TypeScript แต่ก็สนับสนุน TypeScript เต็มที่
ตัวอย่างของ code ในการทดสอบ performance
[gist id="8cac8016c93d11f31c0339a706005dbb" file="server.js"]ลองยิงขำ ๆ บนเครื่อง Mac ได้แค่นี้
[gist id="8cac8016c93d11f31c0339a706005dbb" file="1.txt"]มาลองใช้งานกัน