53 คะแนน โดย xguru 2025-03-03 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • Full-Stack React Tech Stack สำหรับปี 2025
    • แนะนำเทคโนโลยีที่มีประโยชน์สำหรับการพัฒนาผลิตภัณฑ์ SaaS หรือผลิตภัณฑ์ต้นแบบขั้นต่ำ (MVP)
  • Next.js: เฟรมเวิร์กที่ใช้ React เป็นพื้นฐาน โดยมีฟีเจอร์ต่าง ๆ เช่น routing และ caching มาให้ในตัว และรองรับการเชื่อมต่อกับแบ็กเอนด์ผ่านฟีเจอร์ React สมัยใหม่อย่าง server components และ server functions
  • Astro: เครื่องมือทางเลือกสำหรับสร้าง landing page ของผลิตภัณฑ์ ใช้เพื่อทำ landing page ได้อย่างรวดเร็วและช่วยยกระดับประสบการณ์นักพัฒนา
  • Server Components: คอมโพเนนต์ที่ทำงานบนเซิร์ฟเวอร์ ทำให้สามารถเข้าถึงฐานข้อมูลและงานอื่น ๆ ได้ และกำลังเปลี่ยนวิธีการพัฒนาแอปพลิเคชัน React แบบฟูลสแตก
  • Server Functions: ฟีเจอร์ที่ช่วยให้รันโค้ดฝั่งเซิร์ฟเวอร์จาก React components ได้ด้วยการเรียกฟังก์ชันเพียงอย่างเดียว และสร้าง API endpoint ให้โดยอัตโนมัติ
  • Server Actions: ชุดย่อยของ server functions ซึ่งมีไลบรารีที่ช่วยเพิ่มความสะดวกในการใช้งาน แต่ก็สามารถทำขึ้นเองได้โดยตรง
  • Tailwind CSS: เครื่องมือที่แนะนำสำหรับการพัฒนาผลิตภัณฑ์อย่างรวดเร็วและการดูแลรักษา CSS ในระยะยาว โดยเมื่อคุ้นเคยแล้วจะกลับไปใช้แนวทาง CSS แบบดั้งเดิมได้ยาก
  • Shadcn UI: ไลบรารี UI ที่ผสานการทำงานกับ Tailwind CSS ได้อย่างลื่นไหล และนำเสนอแนวทางใหม่ในการจัดการ UI ด้วยระบบที่ไม่มีการระบุเวอร์ชัน
  • Lucide React: ไลบรารีไอคอนที่มาพร้อมกับ Shadcn UI ซึ่งยังแทบไม่มีความจำเป็นต้องเปลี่ยน จนกว่าจะมีตัวเลือกที่ดีกว่าเกิดขึ้น
  • TypeScript: มาตรฐานอุตสาหกรรมของโปรเจกต์ JavaScript ที่ช่วยยกระดับประสบการณ์นักพัฒนา ลดบั๊ก และเพิ่มความสามารถในการดูแลรักษาโค้ด
  • Zod: ไลบรารีสำหรับ validation ที่เข้ากันได้ดีกับ TypeScript ใช้หลัก ๆ สำหรับ validation ฝั่งเซิร์ฟเวอร์ ส่วนฟอร์มฝั่งไคลเอนต์ใช้ native HTML validation เพื่อลดความซับซ้อน
  • nuqs: เครื่องมือสำหรับจัดการสถานะใน URL ของ Next.js เช่น การค้นหา การจัดเรียง และ pagination แบบ type-safe โดยในเฟรมเวิร์กอื่นอาจใช้ความสามารถที่มีมาในตัวหรือไลบรารีอื่นแทนได้
  • Zustand: เครื่องมือทางเลือกสำหรับจัดการสถานะฝั่งไคลเอนต์ ซึ่งปัจจุบันถูกใช้น้อยลงจากการมี URL state, การแคชข้อมูลฝั่งไคลเอนต์ และการพัฒนาของแอป React ที่ขับเคลื่อนโดยเซิร์ฟเวอร์
  • React Query: เครื่องมือทางเลือกที่ใช้กับการดึงข้อมูลฝั่งไคลเอนต์ที่ซับซ้อน เช่น infinite scroll โดยหากโปรเจกต์มีความซับซ้อนไม่มาก server components เพียงอย่างเดียวก็อาจเพียงพอ
  • Prisma (ORM): ตัวเลือก ORM ที่เชื่อถือได้ แม้ตามเทรนด์ล่าสุดอาจเปลี่ยนไปใช้ Drizzle ได้ แต่ปัจจุบันยังชอบ Prisma มากกว่า
  • Supabase (ฐานข้อมูล): บริการที่ให้ฐานข้อมูล Postgres โดยเลือกใช้เฉพาะฐานข้อมูลเพื่อความยืดหยุ่น และเชื่อมต่อผ่าน Prisma เพื่อให้เปลี่ยนไปใช้ฐานข้อมูลอื่นได้ง่ายขึ้น
  • Lucia (การยืนยันตัวตน): แม้จะไม่มีการดูแลรักษาแล้ว แต่ยังใช้เป็นแหล่งเรียนรู้ในการสร้างระบบยืนยันตัวตนด้วย Oslo, Argon2, Arctic ฯลฯ เพื่อสร้างระบบยืนยันตัวตนแบบปรับแต่งเองโดยไม่ต้องพึ่งโซลูชันจากบุคคลที่สาม
  • S3 (อัปโหลดไฟล์): ใช้ AWS S3, presigned URL และ AWS IAM เพื่อสร้างโซลูชันจัดเก็บไฟล์ที่ยืดหยุ่นและต้นทุนต่ำ และเนื่องจากบริการภายนอกส่วนใหญ่ก็ใช้ API เดียวกัน จึงเปลี่ยนผู้ให้บริการได้ง่ายเมื่อจำเป็น
  • Inngest (คิว): เครื่องมือที่ใช้จัดการ orchestration ของงานที่ซับซ้อนในแบ็กเอนด์ เหมาะกับงานเบื้องหลังที่ไม่อ่อนไหวต่อเวลา และมีระบบคิวที่ตั้งค่าและดูแลรักษาได้ง่าย
  • React Email + Resend: ตัวแรกช่วยสร้างเทมเพลตอีเมลด้วย React components ส่วนตัวหลังเป็นโซลูชันสำหรับส่งอีเมลที่ยอดเยี่ยม โดยผู้เขียนเปลี่ยนจาก Postmark ที่เคยใช้มาเป็น Resend และได้ผลลัพธ์ที่น่าพอใจ
  • Vercel (โฮสติ้ง): โซลูชันโฮสติ้งสำหรับแอปพลิเคชันฟูลสแตกที่ใช้งานมาหลายปี และหากต้องการโฮสต์เองก็แนะนำ Hetzner/DigitalOcean และ Coolify
  • CloudFlare (โดเมน): หลังจากมีประสบการณ์กับการจัดการโดเมนหลายแบบ ปัจจุบันพอใจกับ CloudFlare จาก UI ที่ยอดเยี่ยมและความสามารถในการแนบข้อมูลเพิ่มเติมให้กับ DNS records
  • Stripe (เกตเวย์ชำระเงิน): เกตเวย์ชำระเงินที่ใช้งานมาหลายปี มีเอกสารและ API ที่ยอดเยี่ยม แต่เมื่อฟีเจอร์และขอบเขตของ API เพิ่มขึ้นก็อาจทำให้ซับซ้อนขึ้นได้
  • การทดสอบและเครื่องมือ: การจับคู่ระหว่าง React Testing Library และ Cypress/Playwright เป็นตัวเลือกที่ดี และแนะนำ ESLint (ในอนาคตคือ Biome) กับ Prettier นอกจากนี้ยังคงใช้ Storybook สำหรับเอกสาร UI และใช้ tsx เพื่อรัน TypeScript ในเทอร์มินัล

1 ความคิดเห็น

 
moon5g 2025-03-04

เพิ่งได้รู้จัก nuqs ขอบคุณครับ