- React กำลังพัฒนาเป็นเฟรมเวิร์กแบบฟูลสแตกที่ลบเส้นแบ่งระหว่างไคลเอนต์กับเซิร์ฟเวอร์
- สถานะความเป็นเจ้าตลาดของ Next.js เริ่มอ่อนลง ขณะที่ TanStack Start และ React Router กำลังก้าวขึ้นมาเป็นคู่แข่ง
- React เสริมความสามารถด้านฟอร์ม การจัดการสถานะ เซิร์ฟเวอร์คอมโพเนนต์ และการนำ AI มาใช้งาน
- จากนี้ไปนักพัฒนา React จำเป็นต้องคุ้นเคยกับสภาพแวดล้อมแบบฟูลสแตก
React Server Components (RSC)
- React Server Components (RSC) เป็นฟีเจอร์ที่ช่วยลดขนาด JavaScript bundle ฝั่งไคลเอนต์และเพิ่มประสิทธิภาพ
- ประกาศครั้งแรก: 21 ธันวาคม 2020
- การนำไปใช้ครั้งแรก: Next.js 13 (ปี 2022) พร้อมการเปิดตัว App Router
- ใน Next.js 15 (ปี 2024) ฟีเจอร์นี้มีความเสถียรมากขึ้น
- คาดว่า React Router และ TanStack Start จะรองรับ RSC ในเร็ว ๆ นี้
- วิธีการทำงานของ RSC
- ทำงานเพียงครั้งเดียวบนเซิร์ฟเวอร์ และส่งเฉพาะผลลัพธ์ที่เรนเดอร์แล้วไปยังไคลเอนต์
- ลดปริมาณ JavaScript ฝั่งไคลเอนต์
- เข้าถึงฐานข้อมูลและ API ได้จากฝั่งเซิร์ฟเวอร์ (เพิ่มความปลอดภัย)
React Server Functions (RSF)
- React Server Actions (RSA) → เป็นรูปแบบที่พัฒนาต่อจาก RSC ซึ่งสามารถแก้ไขและอัปเดตข้อมูลบนเซิร์ฟเวอร์ได้
- เรียกใช้ฟังก์ชันเซิร์ฟเวอร์แบบ remote procedure call (RPC) ได้โดยไม่ต้องกำหนด API route
- ใช้ directive
use server
- React Server Functions (RSF)
- ในเดือนกันยายน 2024 ทีม React ประกาศ RSF เป็นแนวคิดแบบครอบคลุมที่รวม RSA ไว้ด้วย
- ทำงานได้ทั้งใน RSC และ client component
- ครอบคลุมทั้งการอ่านและแก้ไขข้อมูล
- มีแผนจะนำไปใช้ใน Next.js, TanStack Start และ React Router
การปรับปรุง React Forms
- ใน React 19 ความสามารถด้านฟอร์มได้รับการปรับปรุงครั้งใหญ่
- สามารถเรียก server action ได้โดยตรงผ่านแอตทริบิวต์
action ของ <form>
- เพิ่ม hook ใหม่
useFormStatus, useOptimistic, useActionState
- ปรับปรุงการจัดการสถานะฟอร์มที่ซับซ้อน
- ยังทำงานร่วมกับไลบรารีเดิมได้
- ยังสามารถใช้ไลบรารีเดิมอย่าง React Hook Form ได้ต่อไป
- ความสามารถจัดการฟอร์มของ React เองมีพลังและยืดหยุ่นมากขึ้น
Library vs Framework (ไลบรารี vs เฟรมเวิร์ก)
- ตอนนี้ React มีลักษณะเกินกว่าจะเป็นเพียงไลบรารีธรรมดา และใกล้เคียงความเป็นเฟรมเวิร์กมากขึ้น
- รองรับ client-side rendering (CSR), server-side rendering (SSR), static site generation (SSG), incremental static regeneration (ISR)
- ต้องใช้เฟรมเวิร์กเฉพาะ (เช่น Next.js) จึงจะใช้ความสามารถ RSC และ RSF ได้
- ต้องเลือกตามความต้องการของโปรเจกต์
- แอปไคลเอนต์แบบเรียบง่าย → ใช้ React โดยตรงได้
- ต้องการความสามารถฝั่งเซิร์ฟเวอร์ → จำเป็นต้องใช้เฟรมเวิร์กอย่าง Next.js, TanStack Start หรือ React Router
การแข่งขันของ React Frameworks เข้มข้นขึ้น
- Next.js ยังคงเป็นเฟรมเวิร์กที่ได้รับความนิยมมากที่สุด
- TanStack Start และ React Router มีแนวโน้มสูงที่จะก้าวขึ้นมาเป็นคู่แข่งในปี 2025
- TanStack Start → เฟรมเวิร์กใหม่ที่สร้างบน TanStack Router
- React Router → พัฒนาต่อยอดจาก Remix และมีความเป็นเฟรมเวิร์กชัดเจนขึ้น
- ทั้งสองเฟรมเวิร์กมีแผนรองรับ RSC และ RSF
Full-Stack React
- การเพิ่มความสามารถฝั่งเซิร์ฟเวอร์ของ React → กำลังทำให้มันพัฒนาไปสู่แอปพลิเคชันแบบฟูลสแตก
- เข้าถึงฐานข้อมูลได้ผ่าน RSC และ RSF
- ต้องมีโครงสร้างพื้นฐานแบ็กเอนด์ เช่น การยืนยันตัวตน สิทธิ์การเข้าถึง และแคช
- การสื่อสารระหว่างไคลเอนต์กับเซิร์ฟเวอร์ก็ง่ายขึ้นด้วย
- ความเป็นไปได้ในการสร้างแอปพลิเคชัน AI บน React เพิ่มสูงขึ้น
"Shadcnification" ของ React
- Shadcn UI → กำลังกลายเป็นไลบรารี UI พื้นฐานของ React คล้ายกับที่ Tailwind CSS เป็นมาตรฐานในงานสไตลิง
- มีคอมโพเนนต์ที่จัดสไตล์ไว้ล่วงหน้า
- ปรับแต่งได้
- อาจมีแนวทางใหม่ด้าน UI เกิดขึ้น
- ปัจจุบันหลายโปรเจกต์เริ่มมีหน้าตาคล้ายกัน
React และ AI
- การสร้างโค้ด React ด้วย AI เพิ่มขึ้น
- เครื่องมือ AI (เช่น v0) สามารถสร้างโค้ด React อัตโนมัติได้
- การสร้างแอปพลิเคชันที่มี AI ช่วยทำงานเพิ่มขึ้น
- รองรับโดยเครื่องมืออย่าง AI SDK ของ Vercel, LangChain เป็นต้น
Biome (เดิมชื่อ Rome)
- แก้ปัญหาการทำงานร่วมกันระหว่าง ESLint และ Prettier
- เป็นเครื่องมือที่รวดเร็วและสม่ำเสมอซึ่งสร้างบน Rust
- ได้รับเงินรางวัล $20,000 จาก Prettier (ปี 2023)
- Biome → มีโอกาสสูงที่จะกลายเป็น toolchain รุ่นถัดไปของ React
React Compiler
- React Compiler → เครื่องมืออัตโนมัติสำหรับเพิ่มประสิทธิภาพ
- จัดการ
useCallback, useMemo, memo ให้อัตโนมัติ
- ไม่จำเป็นต้องทำ memoization ด้วยตนเอง
- มีเวอร์ชันเบต้าใน React 19 แล้ว
1 ความคิดเห็น
React คือฟูลสแตกเฟรมเวิร์ก (กำลังจะเป็น)
React Tech Stack 2025
เทรนด์ React ปี 2024