Asked Apr 1st, 2018 5:15 PM 2098 1 5
  • 2098 1 5
+1

Xamarin hay React Native

Share
  • 2098 1 5

Chào các anh chị, em đang là sinh viên. Hiện tại em đang có định hướng học mobile, em đang phân vân giữa Xamarin và React Native. Em mong cách anh chị phân tích giúp ưu/ nhược điểm , cơ hội việc làm của từng cái. Em cảm ơn nhiều ạ!

5 ANSWERS


Answered Apr 5th, 2018 1:18 AM
Accepted
+3

Mấy thư viện cross platform như Xamarin hay React Native thì nó chỉ phục vụ cho việc phát triển sản phẩm nhanh chóng hơn mà thôi, đổi lại hiệu năng và một vài chức năng chỉ có trên một trong hai hệ điều hành sẽ khó custom & fix bug.

Còn nếu nói về ưu nhược điểm & cơ hội của 2 cái trên thì:

  • Xamarin: C#, ko quá phổ biến. Nếu quen có thể ko chỉ làm Android/iOS mà còn có thể làm game với Unity. Cơ hội việc làm thì ko nhiều lắm, vì các dự án mobile hiện tại ít dùng Xamarin.
  • React Native: JS, phổ biến. Nếu quen có thể làm thêm web & rất nhiều thứ nữa. Cơ hội việc làm rất nhiều. Nhược điểm: JS quá rộng, thường xuyên thay đổi.

e là sv thì định hướng sẽ còn thay đổi khá nhiều, nên tốt nhất học cái gì có thể ứng dụng được ở nhiều chỗ, dễ chuyển hướng sang mảng khác. React & JS sẽ là lựa chọn tốt hơn. Còn nếu học mobile thì tốt nhất là nên học Native (Java-Kotlin với Android & Swift với iOS) để hiểu cách hoạt động & sâu hơn về mobile.

Share
Answered Apr 2nd, 2018 7:11 AM
+4

Mình thì chưa sử dụng Xamarin nên chưa đánh giá được ưu nhược điểm của nó. Tuy nhiên mình có hỏi một vài đàn anh code cả native mobile và cross platform như react native hay xamarin thì các anh đều vote cho react native 😃

I. Về ưu nhược điểm của react native

  • Ưu điểm:
    • Dễ học. Đặc biệt đối với người đã có nền tảng web từ trước
    • Cộng đồng cực đông đảo nên mọi lỗi, solution search gần như là ra hết
    • Thời gian hoàn thành sản phẩm ngắn (ưu điểm chung của cross platform mà)
    • Học xong react native thì cũng được 50% để trờ thành frontend web dev rồi
  • Nhược điểm:
    • Để đạt được hiệu năng cao cần đòi hỏi phải "hack" khá nhiều. Những task nặng thì đòi hỏi developer phải biết cả native ios, android nữa. Chứ những task đó mà xử lý bằng JS thì chậm như rùa 😆
    • Khá tốn thời gian vào việc config, release. Đặc biệt là config xcode. Dự án đầu tiên mình đã làm thì khoảng thời gian này chiếm tới tầm 50% thời gian làm dự án 💩

II. Về cơ hội việc làm

Tại thời điểm mình viết bài thì mình có tìm thử job qua một số trang như vietnamwork, itviec thì job chứa từ khoá react-native hơn nhiều so với xamarin. Về lương lậu thì tương đương nhau 😺

=> Ý kiến của mình: Bạn có thể tự học trải nghiệm làm project nho nhỏ với cả 2 nền tảng trên xem sao. Cố gắng trải nghiệm hết mọi concept của một ứng dụng thông thường (call API, authentication, common UIs, access level to native API, ...). Thấy cái nào ok hơn thì bạn đào sâu. Một khi đã có quyết tâm nắm chắc kiến thức rồi thì chắc chắn bạn sẽ có việc làm thôi vì đây đều là hot trend mà 😄

Share
Apr 2nd, 2018 8:55 AM

Anh phân tích rất hợp lí ạ, cảm ơn anh nhiều!

+1
| Reply
Share
Answered Apr 2nd, 2018 2:37 AM
+3

Mình trước giờ làm .Net và cũng từng đụng qua Xamarin và React-Native, và cảm nhận chung là mình yêu thích build app với React-Native hơn, cơ chế build nhanh khoẻ 😄

Share
Apr 2nd, 2018 8:55 AM

Cảm ơn anh ạ!

0
| Reply
Share
Apr 2nd, 2018 10:54 AM

Anh có thể cho em tham khảo lộ trình học React Native được không ạ?

0
| Reply
Share
Nguyên Long Trần @RichardTran_NLong
Apr 9th, 2018 4:25 PM

ib nick anh tren skype: [email protected] anh gửi cho. học xong 1 tháng đủ để tự học tiếp. Nhưng cần nghe tiếng anh được tí 😃

0
| Reply
Share
Answered Apr 2nd, 2018 5:13 PM
+2

Nếu e học mobile thì e nên theo Thuần native apps android(swift) hoặc ios(java android) luôn đi em. React-Native và Xamarin nó chỉ giúp build apps nhanh còn nếu đi xâu vào phần cứng của máy thì 2 đứa trên ko tốt đâu e. Về xamarin thì anh ko rành nhưng với React-Native(RN) thì a góp ý như sau nếu em theo RN.

  1. Ưu Điểm:
  • Build app nhanh. Viết 1 lần build cho 2 app
  • Để làm đc RN thì em phải học qua React, Redux, ... mà học đc React, Redux thì e cũng có thể làm đc web nếu có thêm kiến thức html/css/js
  • Opensource nên tha hồ phá phách, cộng đồng lớn nên lên gg search phát ra quá chừng ✌️
  1. Nhược Điểm:
  • Hiện tại RN chưa stable nên e theo nó phải update thường xuyên. Vì lên mỗi version thì cấu trúc code có thể thay đổi.
  • Để làm đc RN thì ít nhất e phải có căn bản Native apps là gì?
  • Can thiệp vào phần cứng thì hiện tại chưa good lắm đâu.
  • Làm những apps đòi hỏi phức tạp như game thì ko chơi nổi với version hiện tại :3 p/s: hiện tại anh chỉ biết như vậy thôi =)) khi nào nhớ thêm anh chia sẽ tiếp. Chúc e may mắn với con đường mình chọn =))
Share
Apr 3rd, 2018 2:05 AM

Cảm ơn anh ạ!

0
| Reply
Share
Answered Apr 6th, 2018 4:47 AM
+1

Về cơ hội việc làm

Thứ 7 tuần này bên Fsoft đang có chương trình giới thiệu các cơ hội viẹc làm mảng Mobile có dùng đến Xamarin đấy, Em có thể đăng ký join tham gia nghe ngóng xem: https://career.fpt-software.com/vi/cafe-sang-cung-fpt-software/

Share
Apr 6th, 2018 9:43 AM

Cảm ơn anh đã thông tin, tiếc là em ở Sài Gòn.

0
| Reply
Share