Chào mọi người, mình là HJr, bài viết này mình sẽ giới thiệu tổng quan về React Native, bao gồm các vấn đề: -React Native là gì? -Tại sao nên học React Native? -Ưu và hược điểm?
1.React Native là gì?
React Native là một framework mã nguồn mở được sáng tạo bởi Facebook. Nó được sử dụng để phát triển ứng dụng di động Android, iOS, Web và UWP bằng cách cho phép các nhà phát triển sử dụng React cùng với môi trường ứng dụng gốc.
2.Tại sao nên học React Native
React Native được phát triển nhằm mục đích giải quyết bài toán hiệu năng của Hybrid và bài toán chi phí khi mà phải viết nhiều loại ngôn ngữ native cho từng nền tảng di động, đúng như slogan của React Native: “Learn once, write anywhere”. Ngày nay chúng ta có hai nền tảng cạnh tranh chính là iOS và Android, mỗi kẻ một thế lực làm khuynh đảo giới lập trình. Từ đó sinh ra các công cụ hỗ trợ nhà phát triển ứng dụng có thể phát triển mỗi ứng dụng một cách dễ dàng chẳng hạn như Apple thì có XCode, Android thì có Android Studio. Nhưng cũng chính vì lẽ mỗi kẻ một thế lực nên không ai chơi với ai, mỗi bên xưng đế một “phương” cuối cùng con dân lập trình viên là những người phải chịu trận. Và cũng từ lẽ đó mà giang hồ sinh ra hai môn vang danh thiên hạ là Native và Hybrid.
3.Ưu và nhược điểm?
- Ưu điểm:
-
Như mình đã nói trên, React Native có thể viết được cả App Android và IOS, điều này sẽ giúp: Tiết kiệm thời gian và giảm chi phí phát triển của một ứng dụng. Tận dụng nguồn nhân lực tốt hơn Duy trì ít code hơn, ít bugs hơn Các tính năng trong cả 2 platforms cũng tương tự nhau.
-
React Native cho phép các developer có thể tái sử dụng code trong khi phát triển các ứng dụng đa nền tảng. Đặc biệt, developer có thể tái sử dụng hầu như 80-90% các đoạn code thay vì phải viết và tạo các ứng dụng riêng biệt cho các nền tảng khác nhau.
-
Cộng đồng người dùng lớn: React Native được đánh giá là một trong những Framework được yêu thích nhất, bạn có thể dễ dàng fix các lỗi thông qua các diễn đàn lớn nhỏ. Đồng thời có rất nhiều thư viện hỗ trợ.
-
Tính ổn định và tối ưu: Được phát triển bởi Facebook, React Native có hiệu năng ổn định khá cao. Mã React Native giúp đơn giản hóa quá trình xử lý dữ liệu. Đội ngũ phát triển ứng dụng không quá lớn. Xây dựng ứng dụng ít native code nhất cho nhiều hệ điều hành khác nhau. Trải nghiệm người dùng tốt hơn khi so sánh với ứng dụng Hybrids
- Nhược điểm:
- Yêu cầu Native code.
- Hiệu năng kém hơn so với Native App.
- Bảo mật chưa thật sự tốt do dùng JavaScript. Do sử dụng JavaScript, người dùng cũng sẽ bị ảnh hưởng bởi những đặc điểm của JavaScript: dễ làm dễ sai, dẫn đến khó duy trì về sau.
- Quản lý bộ nhớ
- Tùy biến chưa thật sự tốt ở một số module.
- Không thích hợp cho các app cần năng lực tính toán cao (hash, crypto, etc).