Site Loader
234 Tự Cường, P.5, Q. Tân Bình
  1. Giới thiệu tổng quan về React Native

  • React Native framework là một công nghệ được sáng tạo và phát triển bởi “ông trùm mạng xã hội” – Facebook. Công nghệ này cho phép các “dev” sử dụng JavaScript để làm mobile apps trên cả Android và iOS nhằm tối ưu hóa hiệu năng Hydrid và tối giản số lượng ngôn ngữ Native.
  • React Native hoạt động với phương châm “Learn once, write anywhere”.
  • Trong những năm gần đây, framework này nổi lên như 1 ngôi sao sáng trong giới lập trình. Vào trung tuần tháng 3/2020 thì React native đã đạt được những con số rất ấn tượng như: hơn 19,000 lượt commits, hơn 2000 người đóng góp, … trên cộng đồng GitHub.
  • Một số ứng dụng nổi tiếng được phát triển bởi nền tảng react native có thể kể tên như: Facebook, Instagram, Skype, Tiki, ứng dụng đặt phòng AirBnB, Uber, … .
  1. Ưu, khuyết điểm của React Native framework

  • Ưu điểm:

    • Hot reloading và Live reload: với 2 tính năng này thì các “dev” có thể quan sát được những sự thay đổi của các dòng lệnh một cách trực quan nhất.
    • Tiết kiệm nhân lực và thời gian: với các ứng dụng được build bằng react native thì bạn sẽ mất ít thời gian hơn các ứng dụng được viết bằng các code thuần native.
    • Viết 1 được nhiều: Bạn sẽ viết 1 lần duy nhất mà sẽ chạy được trên cả 2, thậm chí là 3 nền tảng.
    • Tính cộng đồng lớn: như đã chia sẻ ở trên, thì hiện nay React Native framework đang nhận được 1 lượng quan tâm rất lớn từ cộng đồng các “dev”.
  • Khuyết điểm:

    • Không thể build được các ứng dụng phức tạp như các app thuần native code.
    • Vẫn còn thiếu các component view và các module của Android như: camera roll, media, map, spinner, …
    • Hiệu năng chưa thể sánh bằng các app thuần native code.
    • Vẫn có lỗ hỏng bảo mật do dựa trên nền tảng JS.
  1. React Native hoạt động như thế nào?

  • Khi khởi chạy một ứng dụng được build bằng react native, nó sẽ phát sinh ra các hàng đợi luồng (threading queues):
  • Main thread (Native queue)
  • JavaScript thread (JS queue)
  • Đối với nền tảng React Native framework, chúng ta sẽ dùng propsstate để điều khiển component.
So sánh giữa props và state trong React Native framework
  1. Khi nào cần sử dụng React Native framework, khi nào sử dụng Android Studio hoặc xCode để phát triển ứng dụng di động?

  • Nếu bạn cần build 1 ứng dụng trong thời gian ngắn với 1 mức chi phí thấp thì react native sẽ là lựa chọn hoàn hảo của bạn. Vì Android, xCode hay các native code nói chung chỉ thích hợp cho 1 dự án dài hạn với nhiều tính năng và nhu cầu bảo trì, nâng cấp, …
  • Về giao diện: nếu bạn cần build 1 ứng dụng có giao diện gần như giống nhau trên tất cả các nền tảng thì hãy chọn react native code. Ngược lại, nếu bạn cần sử dụng các đoạn platform-specific code thì hãy sử dụng Android hoặc các native code khác.
  1. Đánh giá về hiệu năng và effort bỏ ra giữa phát triển ứng dụng Android và React Native framework

  • So với native apps thì hiệu năng của RN thấp hơn các native apps. Vì các mô-đun chịu trách nhiệm cho các tính năng đặc quyền của điện thoại như camera, micro, … cần phải được viết bằng công nghệ gốc.
  • So với React Native thì các apps được viết bằng native code sẽ tốn nhiều thời gian hoàn thiện hơn. Khi mà bạn muốn cả UX và UI đều hoàn hảo và hoạt động tốt thì bạn cũng phải bỏ ra nhiều công sức để làm cho các thành phần của chúng trở nên hoàn hảo.

Tóm lại nếu bạn muốn build sản phẩm ra thật nhanh thì dùng React Native framework, thích hợp với các sản phẩm startup. Còn khi sản phẩm đòi hỏi độ phức tạp cao thì hãy chọn các nền tảng native code.

Post Author: Minh Hiếu