Nếu bạn muốn bước vào thế giới ứng dụng di động nhưng không muốn mất thời gian để học lập trình Kotlin hay Java thì React Native sẽ là lựa chọn sáng suốt để phát triển các ứng dụng trên nền tảng Android và iOS. Vậy React Native là gì? Tự học React Native có khó không? Có những tài liệu tự học React Native nào phù hợp? Bài viết dưới đây của TrainingByEmail sẽ giúp bạn hiểu hơn về React Native cũng như cách để tự học React Native hiệu quả.

React Native là gì?

React Native là một framework được cung cấp và phát triển bởi Facebook. Công cụ này cho phép các developer giúp xây dựng ứng dụng di động trên cả 2 nền tảng iOS và Android chỉ với một ngôn ngữ duy nhất là JavaScript.

Sự ra đời của React Native giúp giải quyết được hạn chế về hiệu năng của Hybrid và sự phức tạp khi phải viết nhiều loại ngôn ngữ native cho từng nền tảng di động khác nhau trước đó.

react native là gì

Có nên học React Native?

Theo Matt Long (CEO tại Groove Technology Ltd. (Vietnam)) thì việc học React Native giúp bạn tiết kiệm công sức và thời gian khi xây dựng một ứng dụng đa nền tảng. Chỉ cần có hiểu biết về JavaScript là đủ, không cần phải học thêm bất kỳ ngôn ngữ nào khác.

Không chỉ vậy, React Native thuyết phục được nhiều người theo học bởi 3 lý do dưới đây:

Tương lai mới của ứng dụng di động

học react native

Với các ưu điểm như:

  • Tiết kiệm thời gian phát triển, debug.
  • Đưa app đến tay người dùng nhờ tính năng live reloading
  • Khả năng tái sử dụng code cao tới 80% chỉ với 1 ngôn ngữ duy nhất

Cũng bởi các ưu điểm trên, React Native ngày càng được ưa chuộng, không chỉ thế giới mà ngay cả các công ty ứng dụng tại Việt Nam, đặc biệt ở lĩnh vực thương mại điện tử, giải trí,…

Rất nhiều app như Tiki, Teko, VNP, Appota,… đều đã và đang chuyển sang React Native hoặc xây dựng một React Native Team khi phát triển các dự án mới thay thế cho iOS team và Android Team riêng biệt như trước kia.

Đặc biệt hơn cả, với React Native thì ngay cả những lập trình web, những ai học qua ReactJS cũng có thể code được. Và việc chuyển đổi giữa công việc web và mobile cũng có thể linh động hơn nhờ có công cụ này.

Tốc độ phát triển nhanh

Với ưu điểm vượt trội vốn có, React Native Mobile Development nhanh chóng chiếm được lòng tin người dùng là trở thành xu hướng lớn khi phát triển các ứng dụng di động. Nhà phát triển Facebook cũng coi đây là dự án trọng điểm và sử dụng nó để trong nhiều dự án như: Crisis Response, Privacy Shortcuts, Marketplace, Blood Donations và cả tai nghe Oculus Go VR.

Cộng đồng React Native cũng đang ngày càng lớn mạnh, với hơn 2500 commits chỉ trong năm 2018. Con số này đã được tăng lên trong vài năm trở lại đây.

Cơ hội nghề nghiệp sáng lạn

công việc

Công nghệ mới đồng nghĩa với việc cần người làm. Và vì mới nên lập trình viên React Native càng có giá hơn so với các vị trí khác. Chưa kể lợi thế sinh viên mới ra trường sẽ học công nghệ mới dễ dàng hơn nhiều người đã có kinh nghiệm lâu năm ở ngôn ngữ khác, khó khăn hơn trong việc cập nhật xu hướng mới.

Các vị trí dành cho React Native cũng chỉ yêu cầu trung bình khoảng 6 tháng kinh nghiệm cho những vị trí lập Junior. Nhiều công ty khát nhân lực còn có những yêu cầu dễ dàng hơn. Chưa kể mức lương cho React Native Dev trung bình cũng cao hơn so với nhiều vị khác từ 10 – 30%.

Học React Native cần gì?

Dù định hướng ban đầu là web dev hay mobile dev thì bạn cũng có thể học React Native, nhưng cũng cần có những yêu cầu nhất định.

  • Với Mobile Dev: bạn cần làm quen với Mobile Native, UI thread, navigation, stack và tìm hiểu thêm các phần thiếu như ReactJS, JavaScript, ES6 cũng như các làm việc state management, API.
  • Với Web Dev: Bạn cần có kiến thức về JavaScript. Nếu chưa có hãy bổ sung, đặc biệt là ES6. Nếu bạn chưa có cả 2 kiến thức trê, thì bạn không làm việc với React Native. Nếu có kiến thức đó rồi, bạn hãy làm quen với ReactJS để bắt đầu.

Về các công cụ cần thiết, các dev cần chuẩn bị git, Nodejs ver 8. Nếu chưa có bạn nên tải về. Với yarm thì không bắt buộc cho lắm, bạn có thể bổ sung nếu cảm thấy cần thiết. Ngoài ra, bạn cần cài thêm máy ảo để phục vụ cho việc debug ứng dụng hoặc dùng luôn điện thoại di động của bạn thay máy ảo cũng được.

Lộ trình tự học React Native

lộ trình học react native

Muốn tự học React Native hiệu quả, trước hết bạn cần có một lộ trình phù hợp. Dưới đây là gợi ý lộ trình tự học lập trình React Native bạn có thể tham khảo:

Phần 1: Lập trình JavaScript cơ bản

Ở phần đầu tiên, bạn cần biết về các kiến thức JavaScript cơ bản như: khai báo biến, hàm cơ bản, mảng Array, Functions & tham số, class, các action,…

Phần 2: Tổng quan về React

Bạn cần nắm được các kiến thức về state và props, xử lý dữ liệu trong React, quản lý dữ liệu qua Redux và sử dụng thư viện kết nối với máy chủ server.

Phần 3: Xây dựng server bằng JavaScript

Để xây dựng máy chủ bằng JavaScript bạn cần có kiến thức về database mongoose, biết xây dựng server nodejs và up server lên heroku.

Phần 4: Tổng quan về React Native

Với phần 4, bạn cần hiểu về cách hoạt động của React Native, cài đặt môi trường làm việc với React Native, biết về quy trình thiết kế ứng dụng React Native và xây dựng ứng dụng trên hệ điều hành Android và iOS.

Phần 5: Component trong React Native

Biết về khái niệm Component, cách tạo Component, hiểu về hooks trong React Native, trình tự hoạt động của Component, Text Component, Image Component, View Component và cuối cùng là TouchableHighlight.

Phần 6: Định dạng giao diện cho ứng dụng

Những kiến thức bạn cần nắm được bao gồm: cách tạo định dạng stylesheet, sử dụng stylesheet, Export StyleSheet, truyền Styles dạng Props, chia sẻ Styles, Positioning và Design giao diện.

Phần 7: Platform APIs

Nắm được kiến thức về thư viện Geolocation (tọa độ người dùng, quản lý Permissions, test location trên iphone, theo dõi tọa độ); sử dụng CameraRoll, lấy danh sách hình với Get Photo Params, tạo hình ảnh, hiển thị danh sách và lưu trữ dữ liệu với AsyncStore.

Phần 8: Modules

Bạn cần có debug với JavaScript, React Native và Beyond Javascript.

Phần 9: Xuất bản ứng dụng lên Appstore

Biết cách chọn Supported Device & Target iOS version, Launching Screen Image, cấu hình Application icon/Bundle Name/AppDelegate.m, archive ứng dụng lên AppStore.

Phần 10: Xuất bản ứng dụng lên Google Play

Để xuất bản ứng dụng lên Google Play, bạn cần biết cấu hình Application icon, xuất file APK dạng release và submit ứng dụng lên Google Play.

Các tài liệu tự học React Native từ cơ bản đến nâng cao

Để hỗ trợ quá trình tự học React Native, bạn có thể tham khảo các tài liệu sau đây:

tài liệu học react native

Các tài liệu tự học React Native cơ bản

  1. Learning React Native: Tổng quan về React Native, cách hoạt động của framework này, sử dụng mobile components và cách xây dựng ứng dụng với React Native từng bước cụ thể.
  2. React Native by Example: Sách đem tới cho bạn những dẫn chứng ví dụ cụ thể, giải phẫu những project thực tế từ cơ bản đến phức tạp. Cuốn sách này giúp bạn hiểu về quy trình tích hợp Facebook SDK; biết từng bước triển khai Redux và sử dụng Websockets để làm ứng dụng chat.
  3. React Up & Running: Tác giả chính là Stoyan Stefanov – một web dev của Facebook nên khá cụ thể. Với cuốn sách này, bạn có thể học được cách tạo & sử dụng React component và DOM component; sử dụng cú pháp JSX mở rộng thay cho lệnh gọi hàm; sử dụng công cụ ESLint, Flow và Jest để test code.
  4. React and React Native: Cuốn sách cơ bản phù hợp cho cả người mới và những người đã có kinh nghiệm. Cuốn sách giúp bạn có kiến thức để tái sử dụng React components, tận dụng API native của Android và iOS để phát triển ứng dụng. Đồng thời, React and React Native hướng dẫn người học cách sử dụng Relay để xây dựng kiến trúc dữ liệu hợp nhất.

Các tài liệu tự học React Native nâng cao:

  1. Hands-On Design Patterns with React Native: Đây là cuốn sách khởi đầu với các mẫu pattern cơ bản trong React và mở rộng ra các pattern trong ứng dụng di động. Mỗi chương sẽ có mã nguồn của các ứng dụng để bạn thử xây dựng và cho chúng chạy ngay trên điện thoại của mình dễ dàng.
  2. React Native Blueprints: Với cuốn sách này, bạn sẽ học cách tối ưu hóa các dự án để tăng tốc độ phát triển ứng dụng. Bạn cũng biết cách xác định ứng dụng React Native đã sẵn sàng trên môi trường Production hay chưa. Ngoài ra, sách sẽ hướng dẫn bạn sử dụng module bên ngoài dễ dàng để tăng tốc độ phát triển cũng như bảo trì dự án cho bạn.
  3. Practical React Native: Cuốn sách cung cấp cho bạn nhiều bài tập thực tiễn giúp bạn củng cố kiến thức về xây dựng ứng dụng di động cùng React Native và rút ra những kinh nghiệm tạo các ứng dụng nâng cao hơn.

Ngoài ra, bạn có thể tham khảo thêm các cuốn sách hay ho về React Native khác, tham khảo tư liệu tự học qua Youtube, các diễn đàn, các khóa học online và nhiều cách khác. Ngoài ra, bạn đừng quên kiếm cho mình một người thầy để giảng dạy lại cho bạn các kiến thức hoặc chỉ ra những lỗi sai bạn chưa khắc phục được nhé. Chúc bạn học React Native thành công!