Hiện nay, React Native ngày càng đóng vai trò quan trọng trong việc phát triển ứng dụng di động đa nền tảng. Nó không chỉ giúp doanh nghiệp tăng tốc độ ra mắt ứng dụng mà chi phí cũng tối ưu hơn. Vì thế, rất nhiều lập trình viên mong muốn được nghiên cứu và học hỏi React Native. Vậy làm thế nào để học hiệu quả? Bài viết dưới đây sẽ hướng dẫn bạn từ A -> Z lộ trình học React Native.
Khi nào có thể bắt đầu học React Native?
Theo lời khuyên từ các chuyên gia, để có thể bắt đầu React Native roadmap một cách hiệu quả nhất, bạn nên có ít nhất 1 năm kinh nghiệm lập trình web.
Bởi đây sẽ là nền tảng vững chắc để bạn bắt đầu với một khái niệm mới nâng cao hơn như React Native. Hiện nay, việc học lập trình web đã trở nên dễ dàng hơn với nhiều tài liệu, khóa học online, offline. Bạn hãy cố gắng để tích lũy kiến thức về:
- Khái niệm cơ bản về lập trình.
- Lập trình hướng đối tượng (OOP).
- Lập trình hàm.
- JavaScript.
- Cơ sở dữ liệu.
- Cách khắc phục lỗi.
- Cách xử lý vấn đề.
Nhiều câu hỏi được đặt ra khi bắt đầu tìm hiểu về React Native là: “React Native có dễ không?”. Tất nhiên, React Native không đơn giản. Thậm chí, nó còn khó hơn lập trình web rất nhiều. Tuy nhiên, chỉ cần nắm vững kiến thức và các công nghệ bên dưới, bạn sẽ có đủ hành trang để làm React Native!
Phân biệt REACT VS REACT NATIVE
Cả React lẫn React Native đều có điểm tương đồng là sử dụng front end và dựa trên Javascript. Ngoài ra, trong React cũng có rất nhiều cú pháp và khái niệm giống với React Native.
Còn về sự khác nhau, React được dùng trên Web. Còn React Native thì dùng trên thiết bị di động.
Có phải học REACT.JS trước REACT NATIVE?
Khi bắt đầu tìm hiểu về React Native roadmap, bạn sẽ bắt gặp một vài lời khuyên rằng nên học React trước React Native. Vậy làm thế nào mới đúng?
Câu trả lời chính là nên học React Js trước khi học React Native. Vì React Js sẽ giúp bạn hệ thống kiến thức ngay từ ban đầu. Từ đó, sẽ có nền tảng vững chắc để tiếp thu thêm nhiều kiến thức mới.
Điều kiện tiên quyết trước khi học REACT NATIVE
Như bạn đã biết, muốn hoàn thành tốt lộ trình học React Native, đòi hỏi người học phải thành thạo nhiều kỹ năng và có sẵn vốn kiến thức nền tảng.
Vậy cụ thể, điều kiện tiên quyết trước khi học React Native là gì?
Kiến thức lập trình Web căn bản
Để học tốt React Native, tốt nhất bạn nên có kinh nghiệm lập trình web trước.
Bạn không nhất thiết phải là người có kinh nghiệm đi làm lập trình. Chỉ cần bạn hoàn thành tối thiểu một khóa học lập trình nào đó để nắm bắt những khái niệm cơ bản như: Kỹ thuật lập trình, cơ sở dữ liệu (học SQL), HTML, JavaScript…
ES6 và JavaScript nâng cao
Bên cạnh kiến thức về lập trình, kỹ năng làm việc với mảng và đối tượng cũng cần được nâng cao.
Hãy cố gắng áp dụng tốt các phương thức map/reduce/filter, toán tử rest/spread, lập trình hàm, arrow function.
Bên cạnh nó, việc hiểu rõ sự khác biệt giữa let, const và var trong JS cũng rất quan trọng.
Node.js
Mặc dù Node.js là một công nghệ dành cho Back end nhưng bạn nên học nó. Bởi trong lộ trình học React Native, bạn sẽ phải sử dụng code của Node.js.
Một vài khái niệm sẽ gặp trong React Native như:
- NPM.
- Nhiều lệnh như: npm install, npm install – save-dev, npm start…
- Promise, Callbacks, Async Await…
Việc bạn thử hoàn thiện một vài ứng dụng thô sơ như CRUD, to-do apps, kết nối với một số cơ sở dữ liệu là điều cực kỳ tốt. Hoặc để hiểu sâu hơn, bạn có thể thực hiện một số ứng dụng thương mại điện tử hoặc chat app.
React
Dù không bắt buộc phải học React trước khi học React Native nhưng nhiều chuyên gia trong ngành đều khuyên rằng, bạn nên học trước React và hiểu về các chủ đề sau:
- Components (Class với Functional).
- Kiểm soát các thành phần.
- Handlers.
- this.setState và this.props trong React.
- Life cycle methods (Một chuỗi các sự kiện xảy ra từ khi thành phần React ra đời cho đến khi nó chết).
- Fetch/Axios để gọi APIs.
Redux với React
Do State thường được duy trì ở cấp Component trong React nên bạn có thể chuyển Handler và các biến cho Component con từ cha mẹ hoặc ngược lại.
Đặc biệt, khi ứng dụng của bạn trở nên phức tạp hơn thì những thứ này sẽ dễ bị lộn xộn và khó quản lý. Vì thế, chúng ta có Redux.
Tuy nhiên, không nên quá vội vàng để sử dụng Redux. Có những lúc không cần sử dụng Redux trong các ứng dụng nhỏ.
Để biết cách áp dụng, tốt hơn hãy học các kiến thức cơ bản về React.
Tất nhiên, bạn cũng có thể học Redux trong React Native bởi nó vẫn giống nhau. Tuy nhiên, nếu học Redux trong React, bạn sẽ tìm thấy nhiều đáp án và được hỗ trợ cộng đồng trên Redux.
Flexbox
Flexbox cực kỳ hữu ích trong việc hỗ trợ thiết kế giao diện, một thành phần quan trọng trong React Native roadmap. Nếu bạn chưa biết về Flexbox thì hãy học nó ngay nhé!
Bạn có thể tham khảo trang web FlexboxFroggy.com. Trang này có 24 bài tập nhỏ và khi hoàn thành chúng, bạn sẽ hiểu hơn về Flexbox.Một số kiến thức nên biết khác
Bên trên là những điều kiện tiên quyết về mặt kỹ thuật để bắt đầu react native.
Song song đó, chúng tôi cũng đề xuất một vài công nghệ bạn nên tìm hiểu để nâng cao khả năng viết ứng dụng di động:
- Redux-thunk.
- Redux-saga.
- LESS, SASS.
- React hooks.
- TypeScript.
- Proptypes.
- Firebase.
Bắt đầu HỌC REACT NATIVE
Sau khi đã có đủ những điều kiện tiên quyết, bây giờ hãy bắt đầu lộ trình học React Native nhé!
Lưu ý, hãy nhớ thiết lập môi trường học React Native tại đây.
Chúng ta sẽ có 2 tùy chọn để thiết lập môi trường cho React Native.
Expo CLI (hoặc expo init)
Expo CLI được xây dựng trên chính dự án React Native CLI. Bởi nó cung cấp nhiều công cụ và built-in API giúp bạn không mất nhiều thời gian để thiết lập dự án.
Khi bắt đầu thiết lập môi trường, hãy liên tục kiểm tra React và những kiến thức bạn đã học bằng cách triển khai những việc sau:
- Áp dụng các component đơn giản như Image, Text, TouchableOpacity (Button), Alert, Toast, ….
- Debug sử dụng console.log.
- Áp dụng Flatlist để hiển thị dữ liệu tĩnh.
- Life cycle methods.
- Sử dụng API cho dữ liệu động.
- Bổ sung react-navigation.
- Bổ sung Redux.
- Làm quen với công cụ hỗ trợ debug.
- Thêm redux persist.
- Redux persist với storage.
- …
React Native CLI (hoặc react-native init)
Mặc dù Expo cực kỳ hữu ích nhưng nó vẫn tồn tại nhiều giới hạn nhất định như nhiều APIs gốc chưa được hỗ trợ là Bluetooth, chỉ hỗ trợ Android 5+, IOS 10+…
Đó chính là lý do vì sao nên có React Native CLI. Bởi nó cung cấp cho bạn nhiều tính năng hơn.
Trong quá trình làm việc, chắc chắn bạn sẽ có nhiều dự án khác nhau cho cả Android và IOS. Do đó, bạn có thể tích hợp SDK của bên thứ 3 hoặc viết cầu nối để giao tiếp giữa bản gốc và Javascript.
Với những dự án từ vừa đến lớn, bạn nên chuyển từ Expo CLI sang React-native CLI.
Tip từ chuyên gia:
- Đầu tiên, bạn hãy chạy ứng dụng trên trình giả lập. Sau đó mới đến thiết bị của bạn.
- Khi bạn tích hợp một tính năng mới hoặc cài đặt và liên kết một thư viện mới, hãy chạy code thường xuyên trên cả hai nền tảng.
- Nếu vô tình gặp lỗi của ứng dụng, hãy tìm kiếm trong các vấn đề “đang mở” của thư viện mà bạn vừa cài đặt hoặc liên kết.
Ngoài ra, hãy luôn tìm kiếm thêm giải pháp trên Google. React Native vẫn đang trong quá trình phát triển nên bạn sẽ bắt gặp một số lỗi và cảnh báo không mong muốn. Vì vậy, hãy luôn kiên trì khi theo đuổi.
Trên đây là tất cả những thông tin quan trọng bạn cần biết về lộ trình học React Native hiệu quả. Hy vọng bạn sẽ chuẩn bị cho mình đầy đủ hành trang và kiến thức để bắt đầu “chinh chiến” cho chặng đường mới mang tên React Native nhé. Chúc bạn thành công!
Có thể bạn quan tâm:
- Tuyển lập trình viên React Native lương cao cập nhật
- Câu hỏi kiểm tra kỹ năng của react developer thường gặp
- Thành kiến chốn công sở: Hệ quả và giải pháp phòng tránh