Kiến trúc mới của React Native: Cộng đồng tranh luận về hiệu năng và sự đánh đổi trong phát triển đa nền tảng

Nhóm biên tập BigGo
Kiến trúc mới của React Native: Cộng đồng tranh luận về hiệu năng và sự đánh đổi trong phát triển đa nền tảng

Sự ra mắt của Kiến trúc mới của React Native đã làm dấy lên cuộc thảo luận sôi nổi trong cộng đồng lập trình viên về tương lai của việc phát triển ứng dụng di động đa nền tảng. Trong khi đội ngũ React Native tự hào về những cải tiến đáng kể về mặt kiến trúc, các lập trình viên đang chia sẻ những trải nghiệm khác nhau và tranh luận liệu các framework đa nền tảng còn phù hợp trong bối cảnh phát triển di động năm 2024 hay không.

Đánh giá hiệu năng và trải nghiệm thực tế

Các bài kiểm tra hiệu năng ban đầu từ cộng đồng cho thấy những thông tin thú vị. Một lập trình viên báo cáo rằng khi render 2.000 View trên thiết bị Android ở chế độ production, phiên bản mới vẫn mất khoảng 300ms, chậm hơn đáng kể so với hiệu năng của React web. Trong khi đó, một số lập trình viên nhận thấy tốc độ render của Flutter nhanh hơn khoảng năm lần so với React Native trong các bài kiểm tra tương tự.

Tuy nhiên, đội ngũ React Native nhấn mạnh rằng các chỉ số hiệu năng thuần túy không nói lên toàn bộ câu chuyện. Theo Rick Hanlon, mặc dù việc nội dung trống nhấp nháy trong vài mili giây có vẻ không đáng kể trong các bài kiểm tra, nhưng tác động đến trải nghiệm người dùng lại không tương xứng. Kiến trúc mới nhằm giải quyết những vấn đề này ngoài việc cải thiện hiệu năng thuần túy.

Tranh luận về phát triển đa nền tảng

Cộng đồng dường như chia thành hai luồng quan điểm về tính phù hợp của các framework đa nền tảng trong năm 2024:

  • Ủng hộ đa nền tảng : Các lập trình viên độc lập và nhóm nhỏ nhấn mạnh rằng React Native, đặc biệt là với Expo, cho phép họ phát hành các sản phẩm mà việc phát triển riêng biệt thành các ứng dụng native là không khả thi.
  • Ủng hộ native : Một số lập trình viên cho rằng với các framework đã trưởng thành như SwiftUI và Jetpack Compose, việc viết code riêng cho từng nền tảng có thể mang lại lợi ích lớn hơn về lâu dài.

Tích hợp Expo và các phụ thuộc native

Một phần đáng kể của cuộc thảo luận xoay quanh Expo, framework phát triển phổ biến của React Native. Mặc dù những lo ngại trước đây về giới hạn phụ thuộc native vẫn còn, nhiều lập trình viên ghi nhận rằng những vấn đề này phần lớn đã được giải quyết thông qua:

  • Config plugins
  • Prebuilds
  • Khả năng tích hợp thư viện native tùy chỉnh
  • Các component framework mã nguồn mở

Triển vọng tương lai

Cộng đồng đặc biệt quan tâm đến react-strict-dom, hứa hẹn khả năng chia sẻ code tốt hơn giữa web và các nền tảng native. Điều này có thể giải quyết một trong những điểm yếu chính trong phát triển React Native hiện tại.

Triển khai đáng chú ý

Một phát hiện thú vị từ cuộc thảo luận cộng đồng là phần recommended trong Start Menu của Windows 11 sử dụng React Native, chứng minh khả năng của framework này trong việc xử lý các thành phần giao diện cấp hệ thống.

Cân nhắc khi chuyển đổi

Đối với các đội ngũ đang cân nhắc nâng cấp, Kiến trúc mới cung cấp:

  • Liên kết C++ trực tiếp thay thế bridge
  • Cải thiện các thao tác đồng bộ
  • Hỗ trợ tốt hơn cho các tính năng của React 18
  • Hỗ trợ đầy đủ Suspense
  • Triển khai useLayoutEffect một cách phù hợp

Tuy nhiên, các lập trình viên nên lưu ý rằng mặc dù lớp tương thích với kiến trúc cũ cung cấp khả năng tương thích ngược, nó sẽ bị loại bỏ trong phiên bản tương lai, đòi hỏi việc chuyển đổi tất cả các module native sang Kiến trúc mới.

Cuộc thảo luận cho thấy mặc dù Kiến trúc mới của React Native mang lại những cải tiến đáng kể, việc lựa chọn framework phát triển vẫn phụ thuộc nhiều vào yêu cầu cụ thể của dự án, quy mô đội ngũ và nhu cầu về hiệu năng thay vì cung cấp một giải pháp phù hợp cho tất cả.