Đề 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)
- Các hàm nâng cao: Closures, capturing values, higher-order functions
- Lập trình hướng giao thức và generics
- Quản lý bộ nhớ với ARC (Automatic Reference Counting)
- Kotlin (Android)
- Các hàm mở rộng và Thư viện Tiêu chuẩn Kotlin
- Coroutines cho lập trình bất đồng bộ
- Sealed classes, enums và xử lý lỗi nâng cao
- JavaScript (React Native)
- Các tính năng ES6+ nâng cao: Destructuring, async/await, promises
- Các khái niệm lập trình hàm trong JavaScript
- Làm việc với các thư viện bên thứ ba trong React Native
Tuần 2: Kiến trúc Ứng dụng Di động và Design Patterns
- 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 Component trong React Native
- Hiểu vòng đời component và hooks
- Các phương pháp hay nhất để quản lý state và props ở quy mô lớn
- Sử dụng React Context API để quản lý state toàn cục
Tuần 3: Các Khái niệm Nâng cao về Networking
- Networking 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 REST API nâng cao và xử lý lỗi
- Làm việc với Codable và phân tích JSON
- Các phương pháp hay nhất để giao tiếp API an toàn (SSL pinning, OAuth)
- Networking trong Android (Kotlin)
- Retrofit để thực hiện 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 bằng HTTPS và xác thực OAuth
Tuần 4: Networking 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à Communication thời gian thực
- Giới thiệu về WebSockets trong React Native
- Xây dựng các tính năng chat hoặc thông báo thời gian thực với kết nối WebSocket
- Quản lý các kết nối liên tục và cập nhật dữ liệu
Tuần 5: Các Kỹ thuật Lưu trữ Dữ liệu Nâng cao
- Core Data và SQLite (iOS)
- Các mối quan hệ, tìm kiếm và truy vấn Core Data nâng cao
- Sử dụng SQLite trực tiếp cho các ứng dụng iOS và quản lý kết nối cơ sở dữ liệu
- Xử lý và tối ưu hóa dữ liệu hiệu quả
- Room Persistence và SQLite (Android)
- Các mối quan hệ và truy vấn cơ sở dữ liệu Room nâng cao
- Quản lý các tập 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 để quản lý cơ sở dữ liệu thời gian thực
- Các phương pháp hay nhất để đồng bộ hóa dữ liệu cục bộ và đám mây
Tuần 6: State Management Nâng cao trong React Native
- Redux cho State Management
- Các khái niệm Redux nâng cao: Middlewares, Thunks, và Sagas
- Tối ưu hóa Redux để có hiệu suất và khả năng mở rộng
- Recoil cho State Management
- Giới thiệu về Recoil: Một lựa chọn linh hoạt hơn cho Redux
- Xử lý quản lý state quy mô lớn trên các component
- Cập nhật state hiệu quả và quản lý state nguyên tử
Tuần 7: Animations Nâng cao trong iOS và Android
- iOS (Swift)
- Animation Core: Tạo hoạt ảnh cho views, layers, và transitions
- UIKit Dynamics: Tạo hoạt ảnh dựa trên vật lý
- Transitions và animations tùy chỉnh giữa các view controllers
- Android (Kotlin)
- MotionLayout để tạo hoạt ảnh phức tạp
- TransitionManager và transitions shared element
- Property animations để thay đổi tỷ lệ, xoay và alpha của view
Tuần 8: Animations và UI/UX trong React Native
- Animations React Native
- Sử dụng Animated API và Reanimated để tạo hoạt ảnh phức tạp
- Triển khai gestures và interactions bằng React Native Gesture Handler
- Các phương pháp hay nhất để tạo hoạt ảnh hiệu suất trong React Native
- Tạo Component UI Tùy chỉnh
- Xây dựng các component có thể tái sử dụng và tùy chỉnh trong React Native
- Triển khai responsive designs với media queries và flexbox
Tuần 9: Tích hợp Native Modules và Tính năng Thiết bị
- Sử dụng Tính năng Thiết bị Native
- Sử dụng nâng cao camera, geolocation, Bluetooth, và sensors
- Tạo native modules trong Swift và Kotlin để tích hợp với React Native
- Tích hợp ARKit cho augmented reality trong iOS
- Tích hợp CameraX và ARCore cho augmented reality trong Android
- React Native Bridge và Native Modules
- Xây dựng native modules tùy chỉnh để tích hợp với chức năng cụ thể của nền tảng
- Tạo Java và Swift bridges cho các ứng dụng React Native
- Các phương pháp hay nhất để quản lý mã native trong môi trường cross-platform
Tuần 10: Kiểm thử và Gỡ lỗi Ứng dụng Nâng cao
- Kiểm thử trong iOS (Swift)
- Viết unit tests với XCTest và UI tests cho iOS
- Sử dụng Xcode Instruments để phân tích hiệu suất và rò rỉ bộ nhớ
- Quy trình tích hợp và kiểm thử liên tục với Jenkins và CircleCI
- Kiểm thử trong Android (Kotlin)
- JUnit và Espresso testing nâng cao cho các ứng dụng Android
- Phân tích hiệu suất và xác định các điểm nghẽn bằng Android Profiler
- Sử dụng Firebase Test Lab để kiểm thử tự động trên nhiều thiết bị
- React Native Kiểm thử
- Unit testing với Jest và component testing với Enzyme
- End-to-end testing với Detox và thiết lập kiểm thử tự động
- Phân tích hiệu suất với 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 để gửi: App Store certificates, provisioning profiles, và TestFlight beta testing
- Sử dụng Fastlane để tự động hóa việc 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
- Google Play (Android) Triển khai
- Chuẩn bị APK và ký nó để gửi lên Google Play
- Tự động hóa việc 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à beta testing
- Thiết lập CI/CD Pipelines
- Cấu hình Jenkins, GitHub Actions, hoặc CircleCI để tự động hóa quy trình xây dựng và triển khai
- Sử dụng Fastlane cho cả quy trình CI/CD iOS và Android
- Các phương pháp hay nhất để quản lý phiên bản, số bản dựng và kênh phát hành
Tuần 12: Dự án Capstone
- Phát triển Dự án Cuối khóa
- Thiết kế và phát triển một ứng dụng hoàn chỉnh kết hợp các tính năng nâng cao đã học trong suốt khóa học.
- Triển khai UI/UX tùy chỉnh, animations nâng cao, quản lý state, tích hợp native module và giao tiếp API thời gian thực.
- Tối ưu hóa ứng dụng để có 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
Requirements
- Hiểu biết vững chắc về các khái niệm lập trình, đặc biệt là trong 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
- Nắm vững các mẫu thiết kế như MVC hoặc MVVM và có kinh nghiệm với quản lý trạng thái cơ bản
Đối tượng
- Nhà phát triển ứng dụng di động
- Lập trình viên
Testimonials (5)
Edward là một ngườifacilitator tuyệt vời
Zibusiso Ncube - Agricatural Research Council
Course - Ionic 4 and Angular for Developers
Machine Translated
Phần favorited của tôi là phần hỏi đáp với Thầy Jose. Ông rất am hiểu và biết trả lời các câu hỏi của chúng tôi.
John Henry - Toyota Motor Philippines
Course - .NET MAUI (Intermediate)
Machine Translated
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
Course - Embedded Linux Systems Architecture
Machine Translated
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
Course - Flutter Development Bootcamp with Dart
Machine Translated
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
Course - Build Native iOS and Android Apps with Flutter
Machine Translated