React ไม่ใช่ปัญหา แต่ Vercel ต่างหากที่เป็น

เหล่านักพัฒนาเริ่มรู้สึกหงุดหงิดกับ React หลายคนตั้งคำถามว่ายังมีใครชอบ React อยู่บ้างไหม และคำตอบที่ได้มักจะเป็นไปในเชิงลบ

ผมเชื่อว่าเรากำลังมองหาสาเหตุผิดจุด React ไม่ได้แย่ลง แต่มันถูกครอบงำ และ Vercel คือบริษัทที่อยู่เบื้องหลังการเปลี่ยนแปลงนี้

Vercel ได้จ้างสมาชิกหลักๆ ของทีม React มาทำงานด้วย แนวคิด React Server Components จึงถือกำเนิดขึ้น และการนำมาใช้งานจริงครั้งใหญ่ครั้งแรกก็อยู่ใน Next.js ซึ่ง Next.js เป็นเฟรมเวิร์กของ Vercel และทำงานได้ดีที่สุดบนโฮสติ้งของ Vercel

นี่คือกลยุทธ์ทางธุรกิจ และมันก็ได้ผลดีมาก

นักพัฒนาหลายคนรัก React เพราะมันเป็นเพียงไลบรารี คุณสามารถเลือก router เองได้ เลือก state management เองได้ และเลือก build tools เองได้ React ไม่เคยเข้ามาแทรกแซงการทำงานของคุณ

แต่สิ่งนั้นได้เปลี่ยนไปแล้ว

ลองใช้ React โดยไม่มีเฟรมเวิร์กในวันนี้ดูสิ เอกสารอย่างเป็นทางการแนะนำให้เริ่มด้วย Next.js และไม่ได้แนะนำให้ใช้ Vite เป็นทางเลือกแรก ข้อความนี้ชัดเจนมากว่า React เพียงอย่างเดียวไม่พอ คุณจำเป็นต้องมีเฟรมเวิร์ก และเฟรมเวิร์กนั้นก็มี 'ความเห็น' ว่าคุณควรจะ deploy โค้ดของคุณไว้ที่ไหน

นี่ไม่ใช่ไลบรารี แต่มันคือกรวย (funnel) ที่หุ้มด้วยไวยากรณ์ JSX

บริษัทที่ได้รับการสนับสนุนจาก VC กำลังมีอิทธิพลมหาศาลต่อโปรเจกต์ open-source ที่มีผู้ใช้งานหลายล้านคน สิ่งนี้ทำให้เกิดแรงจูงใจที่ไม่สอดคล้องกัน ฟีเจอร์ต่างๆ ไม่ได้ถูกสร้างขึ้นเพื่อตอบโจทย์ความต้องการของนักพัฒนา แต่ถูกสร้างขึ้นเพื่อช่วยให้แพลตฟอร์มเฉพาะเจาะจงทำงานได้ดีขึ้น

Server Components ผลักดัน logic ไปไว้ที่เซิร์ฟเวอร์ ซึ่งทำให้เรื่องการเลือกโฮสติ้งมีความสำคัญมากขึ้น

Vercel ไม่ใช่บริษัทที่เลวร้าย พวกเขาสร้างเทคโนโลยีที่ยอดเยี่ยม แต่แรงจูงใจของพวกเขาต่างจากคุณ พวกเขาต้องการให้คุณอยู่ใน ecosystem ของเขา ในขณะที่คุณต้องการอิสระและความยืดหยุ่น เป้าหมายสองอย่างนี้จึงขัดแย้งกัน

เมื่อนักพัฒนาบ่นเรื่อง React ส่วนใหญ่พวกเขามักจะหมายถึงความซับซ้อน โดยตั้งคำถามเช่น:

  • ทำไมฉันต้องรู้ว่าคอมโพเนนต์ไหนเป็น server component หรือ client component?
  • ทำไมแอปง่ายๆ ถึงต้องใช้ edge runtimes?
  • ทำไมทีม React ถึงแนะนำ Next.js?

ความหงุดหงิดนี้เกิดจาก ecosystem ที่ถูกหล่อหลอมด้วยเป้าหมายด้านรายได้ของบริษัทเพียงแห่งเดียว

ผมยังไม่ได้ย้ายไปใช้เฟรมเวิร์กใหม่ แต่ผมแค่เริ่มคิดให้รอบคอบขึ้น ผมจะถามตัวเองว่าผมจำเป็นต้องใช้ Next.js จริงๆ หรือเปล่า หรือแค่ใช้ Vite กับ React Router ก็เพียงพอแล้ว

React ยังคงเป็นไลบรารีสำหรับการ rendering ที่ยอดเยี่ยม ปัญหาคือเลเยอร์ต่างๆ ที่ถูกเพิ่มเข้ามาด้านบนโดยกลุ่มคนที่แสวงหาผลกำไรจากความจำเป็นในการใช้งานของคุณ

นี่คือวิกฤตทางการเมือง ไม่ใช่วิกฤตทางเทคนิค บริษัทเพียงแห่งเดียวมีอิทธิพลต่อทิศทางของเครื่องมือที่คนนับล้านใช้งาน เพื่อตอบสนองผลประโยชน์ทางการเงินของตนเอง เรื่องนี้ควรทำให้คุณรู้สึกไม่สบายใจ

เราไม่ควรละทิ้ง React แต่เราควรเรียกร้อง roadmap ที่รับใช้เหล่านักพัฒนา แทนที่จะรับใช้แพลตฟอร์มการ deploy

คุณคิดว่า React จะสามารถกู้คืนความเป็นอิสระกลับมาได้ไหม? หรือการถูกครอบงำนี้จะเป็นไปอย่างถาวร?

ที่มา: https://dev.to/adioof/reacts-real-problem-isnt-react-its-vercel-a7l