- Microsoft gần đây đã công bố sẽ ngừng sử dụng React để cải thiện hiệu năng của trình duyệt Edge
- Trình duyệt Edge được xây dựng dựa trên Chromium, dự án mã nguồn mở của Google
- Để tạo sự khác biệt cho UI của Edge, hãng đã phát triển các thành phần riêng bằng React
- Sử dụng cách tạo các thành phần nhỏ như menu, dropdown bằng React rồi kết hợp chúng lại
Vấn đề
- Vấn đề về tính mô-đun
- Nhiều nhóm cùng chia sẻ bundle và file dùng chung, làm phát sinh các phụ thuộc không cần thiết
- Việc chậm ở một phần UI cũng ảnh hưởng đến các phần khác
- Render phía client
- Cách render phía client bằng JavaScript gây suy giảm tốc độ
- Kích thước bundle tăng
- Nhiều thành phần phải chia sẻ những bundle dùng chung lớn hơn mức cần thiết
Giải pháp
- Phát triển một kiến trúc ưu tiên markup mới có tên là WebUI 2.0
- Theo hướng tối thiểu hóa mã JavaScript và kích thước bundle
- Dự kiến sẽ áp dụng kiến trúc mới này thay cho React
Kết luận
- Nguyên nhân không hẳn nằm ở bản thân React mà là do cách triển khai sai của Microsoft
- React không chậm, nhưng khi tạo nhiều instance thì không thể kỳ vọng nó sẽ nhanh
- Tuy vậy, Microsoft đã chọn phát triển giải pháp riêng thay vì tiếp tục dùng React
4 bình luận
React trong hầu hết trường hợp đâu có chậm đâu nhỉ haha
Trong nguyên tác cũng có nói rằng bản thân React không hề chậm sao?
> React không chậm. Nhưng bạn không thể kỳ vọng nó sẽ nhanh như chớp khi tạo ra hàng chục instance.
Ừ
Đúng là một tình huống kỳ lạ khi các chương trình khác của MS lại đang biến thành PWA..