^Back To Top

foto1 foto2 foto3 foto4 foto5


Get Adobe Flash player

React Native là một framework do công ty công nghệ nổi tiếng Facebook 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ày nay chúng ta có hai nền tảng cạnh tranh chính là iOS và Android. 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.

Chúng ta sẽ build được ứng dụng Native và chúng ta cũng có thể build ứng dụng đó một cách đa nền tảng (multi-platform) chứ không phải là một “mobile web app”, không phải là “HTML5 app”, và cũng không phải là một “hybrid app” hay cũng không chỉ build trên iOS hay Android mà chúng ta build và chạy được trên cả hai nền tảng.

Native App là gì?

Native App đó là các ứng dụng được phát triển và build trên chính những công cụ hỗ trợ mà nhà phát triển iOS và Android cung cấp cho người lập trình viên ở đây là XCode và Android.

Chúng được viết bằng ngôn ngữ mà nhà phát triển iOS và Android cung cấp ra iOS thì là Swift hiện tại, xưa là Objective C, còn Android thì hiện tại tồn tại song song là Java và Kotlin. Các ứng dụng Native được build dựa trên ngôn ngữ của chính hệ điều hành và sử dụng những tính năng sẵn có của hệ điều hành mà không phải thông qua bất cứ ứng dụng bên thứ ba hay engine nào khác để vận hành nên tốc độ là nhanh nhất.

Hybrid App là gì?

Hybrid App là sự kết hợp giữa ứng dụng Web và ứng dụng mobile. Tức là chúng vừa có thể cài đặt lên điện thoại người dùng giống như là những ứng dụng Native bình thường và bạn có thể tìm thấy chúng trên App Store nhưng khó có thể nhận ra đâu là ứng dụng Native và đâu là ứng dụng Hybrid thường thì người dùng sẽ không để ý quá nhiều.

Đồng thời như ứng dụng Web chúng được xây dựng dựa trên HTML + CSS + JS. Nhược điểm của Hybrid App đó chính là vấn đề hiệu năng sẽ bị ảnh hưởng đáng kể cũng như không tương tác được hết những tài nguyên hệ thống phần mềm cũng như phần cứng.

Vì vậy, mà Native App là sự lựa chọn hàng đầu của giới lập trình trong việc phát triển phần mềm di động bởi vì nó mang lại hiệu năng cao, trải nghiệm người dùng tốt.

Ưu và nhược điểm của React Native

Ưu điểm:

  • Hiệu quả về mặt thời gian khi mà bạn muốn phát triển một ứng dụng nhanh chóng.
  • Hiệu năng tương đối ổn định.
  • Cộng đồng phát triển mạnh.
  • Tiết kiệm tiền.
  • Team phát triển nhỏ.
  • Ứng dụng tin cậy và ổn định.
  • Xây dựng cho nhiều hệ điều hành khác nhau với ít native code nhất.
  • Trải nghiệm người dùng tốt hơn là hybrid app.

Nhược điểm:

  • Vẫn đòi hỏi native code.
  • Hiệu năng sẽ thấp hơn với app thuần native code.
  • Bảo mật không cao do dựa trên JS.
  • Quản lý bộ nhớ.
  • Khả năng tùy biến cũng không thực sự tốt đối với một vài module.

Vậy là với React Native chúng ta sẽ build được ứng dụng Native, cũng có thể build ứng dụng đó một cách đa nền tảng (multi-platform), giảm chi phí recompile của Native bằng cách sử dụng Hot – Loading, chỉ cần sử dụng JS để phát triển được một ứng dụng di động hoàn chỉnh, đồng thời giải quyết được các vấn đề mà Native App gặp phải và kết hợp với code native như Swift, Java, v.v… 

Theo nordiccoder.com