Xamarin hay React Native
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 CÂU TRẢ LỜI
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.
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à
Anh phân tích rất hợp lí ạ, cảm ơn anh nhiều!
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ẻ
Cảm ơn anh ạ!
Anh có thể cho em tham khảo lộ trình học React Native được không ạ?
ib nick anh tren skype: trannguyenlong1991@outlook.com 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í
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.
- Ư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
- 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 =))
Cảm ơn anh ạ!
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/
Cảm ơn anh đã thông tin, tiếc là em ở Sài Gòn.