Đề 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
 420 Giờ học

Số người tham gia


Giá cho mỗi người tham gia

Đánh giá (5)

Các khóa học sắp tới

Các danh mục liên quan