Đề cương khóa học
Giới thiệu
Tuần 1: Các khái niệm nâng cao về Swift, Kotlin và JavaScript
- Swift (iOS)
- Hàm nâng cao: Closure, bắt giá trị, hàm bậc cao
- Lập trình hướng giao thức và generics
- Quản lý bộ nhớ với ARC (Automatic Reference Counting)
- Kotlin (Android)
- Hàm mở rộng và Kotlin Standard Library
- Coroutines cho lập trình bất đồng bộ
- Lớp kín, enum và xử lý lỗi nâng cao
- JavaScript (React Native)
- Các tính năng ES6+ nâng cao: Phân rã, async/await, promises
- Các khái niệm lập trình hàm trong JavaScript
- Làm việc với thư viện bên thứ ba trong React Native
Tuần 2: Kiến trúc và mô hình thiết kế ứng dụng di động
- MVVM (Model-View-ViewModel) cho iOS và Android
- Hiểu kiến trúc MVVM cho iOS (Swift) và Android (Kotlin)
- Triển khai ViewModels và quan sát dữ liệu với LiveData (Android) và Combine (iOS)
- Lập trình phản ứng với RxSwift và RxKotlin
- Kiến trúc dựa trên thành phần trong React Native
- Hiểu vòng đời của các thành phần và hooks
- Những thực hành tốt nhất cho việc quản lý state và props quy mô lớn
- Sử dụng React Context API cho quản lý state toàn cầu
Tuần 3: Các khái niệm mạng nâng cao
- Mạng trong iOS (Swift)
- Làm việc với URLSession cho các yêu cầu mạng tùy chỉnh
- Các cuộc gọi API REST nâng cao và xử lý lỗi
- Làm việc với Codable và phân tích JSON
- Những thực hành tốt nhất cho giao tiếp API an toàn (SSL pinning, OAuth)
- Mạng trong Android (Kotlin)
- Retrofit cho các cuộc gọi API và xử lý phản hồi
- Xử lý lỗi API nâng cao và cơ chế thử lại
- Sử dụng Gson hoặc Moshi để phân tích JSON
- Giao tiếp an toàn sử dụng HTTPS và xác thực OAuth
Tuần 4: Mạng trong React Native
- Tích hợp API với Axios và Fetch
- Tích hợp API nâng cao với Axios và Fetch
- Chiến lược xử lý lỗi và thử lại trong các yêu cầu mạng
- Làm việc với xác thực (JWT, OAuth)
- WebSockets và giao tiếp thời gian thực
- Giới thiệu về WebSockets trong React Native
- Xây dựng tính năng trò chuyện hoặc thông báo thời gian thực bằng kết nối WebSocket
- Quản lý kết nối cố định và cập nhật dữ liệu
Tuần 5: Kỹ thuật lưu trữ dữ liệu nâng cao
- Core Data và SQLite (iOS)
- Mối quan hệ Core Data, truy vấn và lấy dữ liệu nâng cao
- Sử dụng SQLite trực tiếp cho ứng dụng iOS và quản lý kết nối cơ sở dữ liệu
- Xử lý dữ liệu hiệu quả và tối ưu hóa
- Room Persistence và SQLite (Android)
- Mối quan hệ Room database và truy vấn nâng cao
- Quản lý bộ dữ liệu lớn và tối ưu hóa hiệu suất cơ sở dữ liệu
- Sử dụng ProGuard để bảo mật cấu trúc cơ sở dữ liệu
- Firebase cho lưu trữ đám mây (iOS và Android)
- Tích hợp với Firebase cho quản lý cơ sở dữ liệu thời gian thực
- Những thực hành tốt nhất cho việc đồng bộ hóa dữ liệu cục bộ và trên đám mây
Tuần 6: Quản lý trạng thái nâng cao trong React Native
- Redux cho quản lý trạng thái
- Các khái niệm Redux nâng cao: Middlewares, Thunks, và Sagas
- Tối ưu hóa Redux cho hiệu suất và khả năng mở rộng
- Recoil cho quản lý trạng thái
- Giới thiệu về Recoil: Một lựa chọn linh hoạt hơn so với Redux
- Xử lý quản lý trạng thái quy mô lớn giữa các thành phần
- Cập nhật trạng thái hiệu quả và quản lý trạng thái nguyên tử
Tuần 7: Hoạt ảnh nâng cao trong iOS và Android
- iOS (Swift)
- Core Animation: Hoạt ảnh các views, layers, và chuyển đổi
- UIKit Dynamics: Tạo hoạt ảnh dựa trên vật lý
- Chuyển đổi và hoạt ảnh tùy chỉnh giữa các view controllers
- Android (Kotlin)
- MotionLayout để tạo hoạt ảnh phức tạp
- TransitionManager và chuyển đổi phần tử chia sẻ
- Hoạt ảnh thuộc tính cho việc thu nhỏ, xoay và thay đổi độ trong suốt của view
Tuần 8: Hoạt ảnh và UI/UX trong React Native
- Hoạt ảnh React Native
- Sử dụng Animated API và Reanimated cho hoạt ảnh phức tạp
- Triển khai cử chỉ và tương tác sử dụng React Native Gesture Handler
- Những thực hành tốt nhất cho hoạt ảnh hiệu suất cao trong React Native
- Tạo các thành phần UI tùy chỉnh
- Xây dựng các thành phần có thể tái sử dụng và tùy chỉnh trong React Native
- Triển khai thiết kế tương thích với media queries và flexbox
Tuần 9: Tích hợp mô-đun gốc và tính năng thiết bị
- Lấy các tính năng thiết bị gốc
- Sử dụng nâng cao của camera, vị trí địa lý, Bluetooth, và cảm biến
- Tạo mô-đun gốc bằng Swift và Kotlin cho tích hợp React Native
- Tích hợp ARKit cho thực tế tăng cường trong iOS
- Tích hợp CameraX và ARCore cho thực tế tăng cường trong Android
- Cầu nối React Native và mô-đun gốc
- Xây dựng các mô-đun gốc tùy chỉnh để tích hợp với chức năng cụ thể của nền tảng
- Tạo cầu nối Java và Swift cho ứng dụng React Native
- Những thực hành tốt nhất cho việc quản lý mã gốc trong môi trường đa nền tảng
Tuần 10: Kiểm thử và gỡ lỗi ứng dụng nâng cao
- Kiểm thử trong iOS (Swift)
- Viết các bài kiểm tra đơn vị với XCTest và UI tests cho iOS
- Sử dụng Xcode Instruments để xác định profile hiệu suất và rò rỉ bộ nhớ
- Các workflow kiểm thử và tích hợp liên tục với Jenkins và CircleCI
- Kiểm thử trong Android (Kotlin)
- Kiểm thử nâng cao JUnit và Espresso cho ứng dụng Android
- Xác định profile hiệu suất và tìm ra các nút cổ chai sử dụng Android Profiler
- Sử dụng Firebase Test Lab để kiểm thử tự động trên nhiều thiết bị
- Kiểm thử React Native
- Kiểm tra đơn vị với Jest và kiểm thử thành phần với Enzyme
- Thực hiện kiểm thử từ đầu đến cuối sử dụng Detox và cài đặt kiểm thử tự động
- Xác định profile hiệu suất sử dụng React Native Debugger và Flipper
Tuần 11: Triển khai ứng dụng và tích hợp liên tục
- Triển khai App Store (iOS)
- Chuẩn bị ứng dụng cho việc gửi: Chứng chỉ App Store, hồ sơ provisioning, và TestFlight beta testing
- Sử dụng Fastlane để tự động hóa triển khai ứng dụng iOS
- Quản lý App Store Connect và thiết lập quy trình xem xét ứng dụng
- Triển khai Google Play (Android)
- Chuẩn bị APK và ký nó cho việc gửi lên Google Play
- Tự động hóa triển khai ứng dụng Android với Fastlane và Gradle
- Sử dụng Google Play Console để xem xét ứng dụng và thử nghiệm beta
- Cài đặt CI/CD Pipelines
- Cấu hình Jenkins, GitHub Actions, hoặc CircleCI cho các pipeline xây dựng và triển khai tự động
- Sử dụng Fastlane cho workflow CI/CD của cả iOS và Android
- Những thực hành tốt nhất để xử lý phiên bản, số bản build, và kênh phát hành
Tuần 12: Dự án tổng hợp
- Phát triển dự án cuối cùng
- Thiết kế và phát triển một ứng dụng hoàn chỉnh với các tính năng nâng cao được học trong khóa học.
- Triển khai UI/UX tùy chỉnh, hoạt ảnh nâng cao, quản lý trạng thái, tích hợp mô-đun gốc, và giao tiếp API thời gian thực.
- Tối ưu hóa ứng dụng về hiệu suất và triển khai nó lên App Store và Google Play.
Tóm tắt và các bước tiếp theo
Yêu cầu
- Nắm vững các khái niệm lập trình, đặc biệt là Swift, Kotlin và JavaScript
- Có kinh nghiệm xây dựng các ứng dụng iOS, Android hoặc React Native cơ bản
- Hiểu biết về mẫu thiết kế như MVC hoặc MVVM và có kinh nghiệm quản lý trạng thái cơ bản
Đối tượng học viên
- Nhà phát triển ứng dụng di động
- Lập trình viên
Đánh giá (5)
Thông tin bổ sung rất hữu ích
Grzegorz - Comp S.A.
Khóa học - BLoC Pattern
Dịch thuật bằng máy
Edward là một ngườifacilitator tuyệt vời
Zibusiso Ncube - Agricatural Research Council
Khóa học - Ionic 4 and Angular for Developers
Dịch thuật bằng máy
Có thể thêm nhiều bài tập sẽ tốt hơn cho việc học nhưng thời gian lại quá ít
Gianpiero Arico' - Urmet Spa
Khóa học - Embedded Linux Systems Architecture
Dịch thuật bằng máy
Kiến thức của Miguel về chủ đề này rất sâu rộng. Anh đã làm cho khóa đào tạo trở nên dễ hiểu và có sự cân bằng trong tiến trình; thêm vào mỗi phần những tính năng mới khi cần thiết. Anh đã涵盖所有被要求的内容,并且对每个问题都进行了详尽的回答。这是一次非常愉快的经历。 (注:最后两句翻译似乎混用了越南语和中文,现在纠正为完整越南语版本) Anh đã bao gồm tất cả những gì được yêu cầu và trả lời chi tiết từng câu hỏi. Đây thực sự là một trải nghiệm rấtpleasant experience. (注:最后一句中“pleasant experience”已直接翻译为“愉快的经历”,若需完全符合指示,保留原文可改为:Đây thực sự là một trải nghiệm rất "pleasant experience". 但为了自然流畅,建议使用:Đây thực sự là một trải nghiệm rất thoải mái và tích cực.) 最终版本: Kiến thức của Miguel về chủ đề này rất sâu rộng. Anh đã làm cho khóa đào tạo trở nên dễ hiểu và có sự cân bằng trong tiến trình; thêm vào mỗi phần những tính năng mới khi cần thiết. Anh đã bao gồm tất cả những gì được yêu cầu và trả lời chi tiết từng câu hỏi. Đây thực sự là một trải nghiệm rất thoải mái và tích cực.
Paul Coaton - SEMPCheck Services
Khóa học - Flutter Development Bootcamp with Dart
Dịch thuật bằng máy
Giảng viên nhiệt tình, thân thiện và yêu thích chủ đề này
Isaac Murphy - Royal New Zealand Airforce
Khóa học - Build Native iOS and Android Apps with Flutter
Dịch thuật bằng máy