สรุป tRPC คืออะไร ใช้งานอย่างไร ฉบับสั้นกระชับ
หลังจากอ่านคร่าวๆ ยังไม่ได้ลองใช้จริง ต้องบอกว่าน่าสนใจ โดยเฉพาะใครสาย TypeScript น่าจะเอาไปปรับใช้ได้ไม่ยาก
เป็นเครื่องมือที่เอาไว้สร้าง APIs ตัวเทียบที่มีอยู่ในท้องตลาด ก็คือ Rest, GraphQL โดยชูจุดเด่นที่เป็น TypeSafety คือถ้าหลังบ้านมีการเปลี่ยนตัวแปรใน API ที่หน้าบ้านจะสามารถ Detect ได้ ทำให้ลดความผิดพลาดในการเรียกชื่อฟิลด์
นอกจากนี้ยังมีฟีเจอร์อย่าง
- Runtime Build ทำให้ไม่ต้องเสียเวลา Build ก่อน Run
- มีให้ใช้ใน Javascript Framework ตัวหลักๆแล้ว เช่น Next.js
- มี Autocomplete และขนาดบันเดิ้ลไฟล์เล็ก เนื่องจากเคลมว่า ไม่มี Dependencies
การใช้งาน
สำหรับการใช้งาน ไม่ได้มีอะไรซับซ้อน แค่ประกาศ Producer มา จากนั้นก็สร้าง HTTP
Server ที่ต่างไปก็คือ ตัว Client ที่ใช้ Query จะต้องใช้ tRPC เพื่อ Sync
กับหลังบ้าน
เหมาะกับใคร?
แน่นอน อย่างที่บอกไปตอนต้น เหมาะกับคนที่เขียน TypeScript ส่วนคนเขียน
Javascript เดิมๆนั้น ตัด tRPC ทิ้งไปก่อนเลย
เหมาะกับคนที่ไม่ได้พัฒนา Public APIs เนื่องจากคนส่วนใหญ่ที่เป็น Client
ก็ยังใช้ Rest อยู่ดี ไม่มีเหตุผลที่ต้องมาใช้ tRPC Client เลย
ดังนั้นผมคิดว่ามันน่าจะเหมาะกับโปรเจ็คที่ไม่ใหญ่มาก และไม่ต้องมี 3rd party
เยอะๆ
เกี่ยวอะไรกับ gRPC ไหม?
สำหรับใครที่ไม่รู้จัก gRPC มันคือ google remote procedure call ใช้เรียก APIs นี่แหละ แต่ว่าใช้เรียกกันระหว่าง Services หรือเอาง่ายๆก็คือ หลังบ้านคุยกันเอง ถึงจะใช้ gRPC แต่ tRPC คือ หน้าบ้านเรียกหลังบ้าน ดังนั้นสรุปก็คือ ใช้งานคนละประเภท แต่ชื่อแค่ชวนให้สับสน
Comments
Post a Comment