- Đã có kinh nghiệm đi làm từ 1 năm trở lên
- Đã có kiến thức cơ bản về Javascript
- Ưu tiên đã biết về Web development
- KHÔNG cần kiến thức về Native Development (Android/iOS)
- Làm được app chạy trên cả Android và iOS chỉ với một codebase duy nhất
- Có thể làm được hầu hết các app enterprise trên thị trường
- Hiểu rõ quy trình làm một app thương mại từ khi bắt đầu đến khi đến tay người dùng cuối
- Có thể ứng tuyển vào các công ty với level Junior React Native
- Hoàn thành khoá học với 2-3 app hoàn chỉnh, có thể viết vào CV
- Kinh nghiệm 3 năm làm việc chuyên nghiệp với React Native
- Đã từng làm app có hơn 2.000.000 (2 triệu) người dùng
- Senior React Native Engineer tại Foody Corp - Sea Group
- Background vững thuật toán: giải 3 kỳ thi ACM/API toàn miền Nam, giải 3 kỳ thi HSG Quốc Gia môn Tin Học
- Giảng viên có nhiều kinh nghiệm làm việc trong các dự án thực tế, với số lượng user lớn
- Giảng viên làm việc trong nhiều môi trường, từng trải qua nhiều dạng app khác nhau: với kinh nghiệm đa dạng trong nhiều lĩnh vực
- App mạng xã hội
- App Ecommerce
- App chat real-time
- context api vs redux
- optimize app performance
- split/re-use component best practice
1. JavaScript Cơ bản & Giới thiệu React Native
- JavaScript Cơ bản
- Cú pháp JavaScript hiện đại: ES6, Biến, Kiểu dữ liệu, Module, Prototype
- Cơ chế bất đồng bộ của Javascript: Đơn luồng, Promises, Async/Await
- ESLint, Prettier
- Giới thiệu React Native
- Kiến trúc React Native, cách thức React Native hoạt động và giao tiếp với Android/iOS
- Thiết lập môi trường để lập trình với React Native
2. React Native Cơ bản
- Tìm hiểu về Component, thành phần cơ bản nhất trong React Native
- Component là gì?
- Cơ chế hoạt động
- Cách tạo ra các component trong React Native
- Tìm hiểu các React Native Component
- Core Component
- Native Component
- Phân tích các component từ thiết kế có sẵn
3. Style và Thực hành React Native cơ bản
- Style
- Cách trang trí, vẽ, sắp xếp các bố cục ứng dụng
- Cách Thiết kế ứng dụng tương thích trên nhiều loại màn hình khác nhau
- Phân tích, thiết kế ứng dụng dựa trên design có sẵn
- Hưởng dẫn sử dụng các Core Component để xây dựng các UI cơ bản
- View, Text, Button
- TextInput: xây dựng form nhập liệu người dùng
- ScrollView, FlastList: xây dựng các danh sách (danh sách sản phẩm/tin nhắn)
- Hướng dẫn dựng các layout cơ bản, responsive
- Dựng layout tương thích trên nhiều loại màn hình khác nhau
4. App Game Trúc Xanh
5. Networking
- Hướng dẫn làm việc với API
- Validate dữ liệu trước khi thực hiện truyền dữ liệu
- Luồng đăng nhập đơn giản
- Thực hiện lưu các dữ liệu người dùng vào bộ nhớ local
6. Navigation
- Cách thức hoạt động của các hệ thống navigation trong react-native
- Hướng dẫn sử dụng các thư viện navigation
- react-native-navigation
- react-navigation
- Tìm hiểu về các loại navigator của react-native-navigation
- stack
- tabs
7. Ứng dụng Food Delivery (phần 1)
- Trang hiển thị danh sách các sản phẩm / các của hàng
- Trang hiển thị chi tiết một cửa hàng
- Chức năng giỏ hàng, đặt các sản phẩm vào giỏ hàng
- Di chuyển giữa các trang
8. Redux
- Redux là gì? Tại sao phải sử dụng redux
- Kiến trúc của redux
- Middleware là gì, và các Middleware phổ biến trong redux
- thunk
- saga
- redux-persist
- react-redux
- redux toolkit
9. Context API vs Redux
- Context API là gì? Có thay thế được Redux?
- Cách sử dụng Context API
- So sánh Context API và Redux
- Những ứng dụng thực tế trên thị trường sử dụng Context API hay Redux
10. Debugging
- Hướng dẫn cách tìm nơi phát sinh lỗi
- Hướng dẫn debug react-native bằng các công cụ
- console
- react-devtools
- reactotron
- Ưu nhược/điểm của từng công cụ
11. Ứng dụng Food Delivery (phần 2)
- Cải tiến và giải quyết các vấn đề của app bằng redux
- Thực hiện xây dựng luồng đăng nhập đơn giản
- Thực hiện đặt hàng thông qua gọi API
12. NPM, Native Modules
- Tại sao cần phải sử dụng thư viện khi làm ứng dụng?
- npm là gì
- npm, node_modules, yarn
- Phải làm gì khi cần sử lý đến những phần phức tạp, hoặc can thiệp sâu vào hệ thống?
- native-modules ios/android
- xây dựng/cách sử dụng các native-modules đơn giản
13. Ứng dụng Food Delivery (phần 3)
- Trang danh sách các đơn hàng
- Có sử dụng bản đồ để thể hiện đơn hàng đang được giao
- Trang thông báo
- Trang thông tin cá nhân của người dùng
- Có sử dụng camera để cập nhật ảnh đại diện / review các sản phẩm
14. Push Notification, Thông báo đẩy
- Gửi thông báo từ ứng dụng đến người dùng khi người dùng đang/không dùng ứng dụng
- Remote notificaiton
- Local notification
- Cài đặt thông báo cho Ứng dụng Food Delivery
15. Cải thiện hiệu năng ứng dụng
- Các sai lầm thường hay mắc phải, dẫn đến hiệu năng ứng dụng thấp
- Cách tìm ra những điểm trên ứng dụng đang có hiệu năng thấp
- Cách đánh giá hiệu năng ứng dụng
- Cách cải thiện hiệu năng ứng dụng
16. Publish app
- Chuẩn bị
- Cài đặt Icons & màn hình chào mừng (Splash Screen)
- Giới thiệu, Cài đặt Codepush
- Publish app lên các store, cho người dùng có thể tải về
- iOS: apple store
- Android: google store