- Microsoft ประกาศเมื่อไม่นานมานี้ว่าจะเลิกใช้ React เพื่อปรับปรุงประสิทธิภาพของเบราว์เซอร์ Edge
- เบราว์เซอร์ Edge สร้างขึ้นบนพื้นฐานของ Chromium ซึ่งเป็นโครงการโอเพนซอร์สของ Google
- เพื่อสร้างความแตกต่างให้กับ UI ของ Edge จึงพัฒนาคอมโพเนนต์ของตนเองด้วย React
- ใช้วิธีสร้างและประกอบคอมโพเนนต์ขนาดเล็ก เช่น เมนูและดรอปดาวน์ ด้วย React
ปัญหา
- ปัญหาด้านความเป็นโมดูล
- หลายทีมใช้ bundle และไฟล์ส่วนกลางร่วมกัน ทำให้เกิด dependency ที่ไม่จำเป็น
- ความช้าของ UI ส่วนหนึ่งส่งผลกระทบต่อส่วนอื่นด้วย
- การเรนเดอร์ฝั่งไคลเอนต์
- ประสิทธิภาพลดลงจากแนวทางการเรนเดอร์ฝั่งไคลเอนต์ที่ใช้ JavaScript
- ขนาด bundle ที่เพิ่มขึ้น
- หลายคอมโพเนนต์ต้องใช้ bundle ส่วนกลางขนาดใหญ่เกินความจำเป็นร่วมกัน
วิธีแก้ไข
- พัฒนาสถาปัตยกรรมแบบ markup-first ใหม่ชื่อ WebUI 2.0
- ใช้วิธีที่ลดทั้งโค้ด JavaScript และขนาด bundle ให้เหลือน้อยที่สุด
- มีแผนนำสถาปัตยกรรมใหม่นี้มาใช้แทน React
บทสรุป
- สาเหตุไม่ได้มาจากปัญหาของ React เอง แต่เป็นการนำไปใช้งานที่ไม่เหมาะสมของ Microsoft
- React ไม่ได้ช้าโดยตัวมันเอง แต่เมื่อสร้างหลายอินสแตนซ์ก็ไม่อาจคาดหวังความเร็วได้
- อย่างไรก็ตาม Microsoft เลือกพัฒนาโซลูชันของตนเองแทน React
4 ความคิดเห็น
ส่วนใหญ่แล้ว React ก็ไม่ได้ช้านะ 555
ในต้นฉบับเองก็บอกไว้ไหมว่า React เองไม่ได้ช้า?
> React ไม่ได้ช้า แต่คุณไม่สามารถคาดหวังให้มันเร็วแบบสุดขีดได้เมื่อคุณสร้างอินสแตนซ์ขึ้นมาหลายสิบตัว
ใช่
ดูเหมือนว่าโปรแกรมอื่น ๆ ของ MS กำลังกลายเป็น PWA กันหมดในแบบที่ชวนประหลาดใจนะ..