- เครื่องมือที่นำแนวคิดของ Relay และ GraphQL มาปรับใช้กับสภาพแวดล้อม tRPC เพื่อทำให้การดึงข้อมูลและการจัดการสถานะของแอปพลิเคชัน React เรียบง่ายขึ้นในรูปแบบที่ ประกาศชัดเจนและคาดการณ์ได้
- ผ่าน View Composition แต่ละคอมโพเนนต์สามารถระบุข้อมูลที่ต้องการได้ และรวมเป็นคำขอเดียวในระดับหน้าจอเพื่อ ลดการเรียกเครือข่ายให้น้อยที่สุด
- คง แคชแบบนอร์มัลไลซ์ (Normalized Cache) ไว้เพื่อป้องกันข้อมูลซ้ำและความไม่สอดคล้อง พร้อมรองรับ การอัปเดตแบบ action·mutation
- ใช้ Data Masking เพื่อบล็อกฟิลด์ที่ไม่ได้ร้องขอโดยอัตโนมัติ ช่วย ลดการพึ่งพากันระหว่างคอมโพเนนต์ และ ป้องกันการดึงข้อมูลเกินจำเป็น
- ใช้ความสามารถของ Async React (Suspense, Actions,
use) เพื่อทำให้เกิด การเรนเดอร์พร้อมกันและการจัดการสถานะโหลดที่ลื่นไหลอย่างเป็นธรรมชาติ
- มีฟังก์ชันจัดการลิสต์ในตัวสำหรับ pagination แบบ cursor และ infinite scroll
- ใช้ Optimistic Update เพื่ออัปเดต UI ได้ทันทีแม้ก่อนเซิร์ฟเวอร์ตอบกลับ และหากล้มเหลวจะทำการ rollback แคช
- ออกแบบให้ พร้อมสำหรับ AI (AI-Ready) โดยให้การเลือกข้อมูลอย่างชัดเจนและ API ที่คาดการณ์ได้ ซึ่งเอื้อต่อ การสร้างโค้ดแบบ type-safe
- ด้วย การออกแบบที่ยึดมุมมองเป็นศูนย์กลาง แต่ละคอมโพเนนต์จะประกาศฟิลด์ที่ต้องการ และรวบรวมข้อมูลเป็นคำขอเดียวจากด้านบนของทรี
- ทำให้แนวคิด Fragment ของ GraphQL เรียบง่ายขึ้นด้วยออบเจ็กต์ JavaScript
- ฝั่งเซิร์ฟเวอร์ทำงานบนพื้นฐานของ tRPC + Prisma
- แผนถัดไป: รองรับ Drizzle, แคชออฟไลน์, การอัปเดตแบบเรียลไทม์ (
useLiveView), ปรับปรุงการสร้างโค้ด, การเก็บกวาดหน่วยความจำ เป็นต้น
ยังไม่มีความคิดเห็น